diff options
Diffstat (limited to 'utils')
-rw-r--r-- | utils/themeeditor/skin_parser.c | 4 | ||||
-rw-r--r-- | utils/themeeditor/skin_scan.c | 6 | ||||
-rw-r--r-- | utils/themeeditor/tag_table.c | 2 |
3 files changed, 9 insertions, 3 deletions
diff --git a/utils/themeeditor/skin_parser.c b/utils/themeeditor/skin_parser.c index 6902679bc1..860970b7e7 100644 --- a/utils/themeeditor/skin_parser.c +++ b/utils/themeeditor/skin_parser.c | |||
@@ -257,7 +257,7 @@ struct skin_element* skin_parse_line_optional(char** document, int conditional) | |||
257 | if(!skin_parse_conditional(current, &cursor)) | 257 | if(!skin_parse_conditional(current, &cursor)) |
258 | return NULL; | 258 | return NULL; |
259 | } | 259 | } |
260 | else if(*cursor == TAGSYM) | 260 | else if(*cursor == TAGSYM && !find_escape_character(cursor[1])) |
261 | { | 261 | { |
262 | if(!skin_parse_tag(current, &cursor)) | 262 | if(!skin_parse_tag(current, &cursor)) |
263 | return NULL; | 263 | return NULL; |
@@ -557,7 +557,7 @@ int skin_parse_tag(struct skin_element* element, char** document) | |||
557 | } | 557 | } |
558 | 558 | ||
559 | /* Checking for a premature end */ | 559 | /* Checking for a premature end */ |
560 | if(*tag_args != '\0' && !(optional && !star)) | 560 | if(*tag_args != '\0' && !optional) |
561 | { | 561 | { |
562 | skin_error(INSUFFICIENT_ARGS); | 562 | skin_error(INSUFFICIENT_ARGS); |
563 | return 0; | 563 | return 0; |
diff --git a/utils/themeeditor/skin_scan.c b/utils/themeeditor/skin_scan.c index 37c948fb3c..28d097125a 100644 --- a/utils/themeeditor/skin_scan.c +++ b/utils/themeeditor/skin_scan.c | |||
@@ -61,6 +61,9 @@ char* scan_string(char** document) | |||
61 | continue; | 61 | continue; |
62 | } | 62 | } |
63 | 63 | ||
64 | if(*cursor == TAGSYM) | ||
65 | cursor++; | ||
66 | |||
64 | if(*cursor == '\n') | 67 | if(*cursor == '\n') |
65 | { | 68 | { |
66 | skin_error(UNEXPECTED_NEWLINE); | 69 | skin_error(UNEXPECTED_NEWLINE); |
@@ -77,6 +80,9 @@ char* scan_string(char** document) | |||
77 | buffer[length] = '\0'; | 80 | buffer[length] = '\0'; |
78 | for(i = 0; i < length; i++) | 81 | for(i = 0; i < length; i++) |
79 | { | 82 | { |
83 | if(*cursor == TAGSYM) | ||
84 | cursor++; | ||
85 | |||
80 | if(*cursor == COMMENTSYM) | 86 | if(*cursor == COMMENTSYM) |
81 | { | 87 | { |
82 | skip_comment(&cursor); | 88 | skip_comment(&cursor); |
diff --git a/utils/themeeditor/tag_table.c b/utils/themeeditor/tag_table.c index 74eb6cbe26..6ec33023c2 100644 --- a/utils/themeeditor/tag_table.c +++ b/utils/themeeditor/tag_table.c | |||
@@ -245,7 +245,7 @@ int find_escape_character(char lookup) | |||
245 | while(*current != lookup && *current != '\0') | 245 | while(*current != lookup && *current != '\0') |
246 | current++; | 246 | current++; |
247 | 247 | ||
248 | if(*current == lookup) | 248 | if(*current == lookup && *current) |
249 | return 1; | 249 | return 1; |
250 | else | 250 | else |
251 | return 0; | 251 | return 0; |