diff options
| -rw-r--r-- | lib/skin_parser/skin_parser.c | 11 | ||||
| -rw-r--r-- | lib/skin_parser/tag_table.h | 1 |
2 files changed, 12 insertions, 0 deletions
diff --git a/lib/skin_parser/skin_parser.c b/lib/skin_parser/skin_parser.c index f92a527..fba074f 100644 --- a/lib/skin_parser/skin_parser.c +++ b/lib/skin_parser/skin_parser.c @@ -673,6 +673,17 @@ static int skin_parse_tag(struct skin_element* element, const char** document) if(!element->params[i].data.code) return 0; } + else if (tolower(*tag_args) == 't') + { + struct skin_element* child = skin_alloc_element(); + child->type = TAG; + if (!skin_parse_tag(child, &cursor)) + return 0; + child->next = NULL; + element->params[i].type = CODE; + element->params[i].data.code = child; + } + skip_whitespace(&cursor); diff --git a/lib/skin_parser/tag_table.h b/lib/skin_parser/tag_table.h index 0266c2f..2ba43b1 100644 --- a/lib/skin_parser/tag_table.h +++ b/lib/skin_parser/tag_table.h @@ -273,6 +273,7 @@ enum skin_token_type { * F - Required file name * f - Nullable file name * C - Required skin code + * T - Required single skin tag * N - any amount of strings.. must be the last param in the list * \n - causes the parser to eat everything up to and including the \n * MUST be the last character of the prams string |