summaryrefslogtreecommitdiff
path: root/utils/themeeditor
diff options
context:
space:
mode:
Diffstat (limited to 'utils/themeeditor')
-rw-r--r--utils/themeeditor/skin_parser.c4
-rw-r--r--utils/themeeditor/skin_scan.c6
-rw-r--r--utils/themeeditor/tag_table.c2
3 files changed, 9 insertions, 3 deletions
diff --git a/utils/themeeditor/skin_parser.c b/utils/themeeditor/skin_parser.c
index 6902679..860970b 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)
if(!skin_parse_conditional(current, &cursor))
return NULL;
}
- else if(*cursor == TAGSYM)
+ else if(*cursor == TAGSYM && !find_escape_character(cursor[1]))
{
if(!skin_parse_tag(current, &cursor))
return NULL;
@@ -557,7 +557,7 @@ int skin_parse_tag(struct skin_element* element, char** document)
}
/* Checking for a premature end */
- if(*tag_args != '\0' && !(optional && !star))
+ if(*tag_args != '\0' && !optional)
{
skin_error(INSUFFICIENT_ARGS);
return 0;
diff --git a/utils/themeeditor/skin_scan.c b/utils/themeeditor/skin_scan.c
index 37c948f..28d0971 100644
--- a/utils/themeeditor/skin_scan.c
+++ b/utils/themeeditor/skin_scan.c
@@ -61,6 +61,9 @@ char* scan_string(char** document)
continue;
}
+ if(*cursor == TAGSYM)
+ cursor++;
+
if(*cursor == '\n')
{
skin_error(UNEXPECTED_NEWLINE);
@@ -77,6 +80,9 @@ char* scan_string(char** document)
buffer[length] = '\0';
for(i = 0; i < length; i++)
{
+ if(*cursor == TAGSYM)
+ cursor++;
+
if(*cursor == COMMENTSYM)
{
skip_comment(&cursor);
diff --git a/utils/themeeditor/tag_table.c b/utils/themeeditor/tag_table.c
index 74eb6cb..6ec3302 100644
--- a/utils/themeeditor/tag_table.c
+++ b/utils/themeeditor/tag_table.c
@@ -245,7 +245,7 @@ int find_escape_character(char lookup)
while(*current != lookup && *current != '\0')
current++;
- if(*current == lookup)
+ if(*current == lookup && *current)
return 1;
else
return 0;