diff options
author | Robert Bieber <robby@bieberphoto.com> | 2010-06-02 05:45:34 +0000 |
---|---|---|
committer | Robert Bieber <robby@bieberphoto.com> | 2010-06-02 05:45:34 +0000 |
commit | 999990c23470bfa1340fe6356f85ae2e086cf052 (patch) | |
tree | ab1daf7a3c361267aeed5088e4bd6e011a2b1b29 | |
parent | f02a2446d3c05b824cbbb887834ce82a7cd8fe0b (diff) | |
download | rockbox-999990c23470bfa1340fe6356f85ae2e086cf052.tar.gz rockbox-999990c23470bfa1340fe6356f85ae2e086cf052.zip |
Theme Editor: Fixed a small bug with asterisk handling in tag parameter argument codes and fixed bugs with handling escaped characters
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26460 a1c6a512-1295-4272-9138-f99709370657
-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; |