summaryrefslogtreecommitdiffstats
path: root/utils/skinupdater/skinupdater.c
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2010-06-09 16:15:01 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2010-06-09 16:15:01 +0000
commit9ac4b446106f733dc1c4be69d97acbcc4c44d9ad (patch)
tree8b81c2f4e3d0714fd9ec2f0c4a0b4b116055b244 /utils/skinupdater/skinupdater.c
parent20b9020adc521aff2650914695c3e2ccd0025188 (diff)
downloadrockbox-9ac4b446106f733dc1c4be69d97acbcc4c44d9ad.tar.gz
rockbox-9ac4b446106f733dc1c4be69d97acbcc4c44d9ad.tar.bz2
rockbox-9ac4b446106f733dc1c4be69d97acbcc4c44d9ad.zip
SKIN BREAK: %pb, %bl and %pv (bar types) changed so the image is the last param instead of the first. skin updater, skins and manual all updated.
NEW PARSER: add an 'N' param type which will accept any number of strings, will cause very big problems if this isnt the last param for a tag. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26727 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'utils/skinupdater/skinupdater.c')
-rw-r--r--utils/skinupdater/skinupdater.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/utils/skinupdater/skinupdater.c b/utils/skinupdater/skinupdater.c
index 0bb305fb5e..fe7edbb81b 100644
--- a/utils/skinupdater/skinupdater.c
+++ b/utils/skinupdater/skinupdater.c
@@ -130,10 +130,26 @@ int parse_tag(FILE* out, const char* start, bool in_conditional)
{
if (*start == '|')
{
+ int i=0;
+ char filename[128];
len++; start++;
PUTCH(out, '(');
+ /* |file|x|y|width|height| -> (x,y,width,height,file) */
+ while (start[i] != '|')
+ {
+ filename[i] = start[i];
+ i++;
+ }
+ filename[i] = '\0';
+ len +=i+1;
+ start += i+1;
/* TODO: need to verify that we are actually using the long form... */
- len += dump_arg(out, start, 5, true);
+ len += dump_arg(out, start, 4, false);
+ if (i>0)
+ {
+ fprintf(out, ",%s", filename);
+ }
+ PUTCH(out, ')');
}
}
else if (MATCH("d") || MATCH("D") || MATCH("mv") || MATCH("pS") || MATCH("pE") || MATCH("t") || MATCH("Tl"))