From 5b0521c9aadee11886e2c92df7d768d5e76063a6 Mon Sep 17 00:00:00 2001 From: Jonathan Gordon Date: Mon, 7 Jun 2010 03:44:11 +0000 Subject: Changeover to the new skin format. SkinBreakingChange in the wiki has the runown of the changes. Major changes are paramerterised tags now use %tag(param,param), colours are removed from the %V() tag, %Vi gets a required (but can be -) label as its first param). utils/skinupdater/ has a program to update individual skins, and a perl script to update a whole zip. Themesite will be unusable for the time being (you should be able to upload new themes once it updates checkwps though). I obviously havnt tested every updated wps in this change so let me know if one doesnt load git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26641 a1c6a512-1295-4272-9138-f99709370657 --- apps/misc.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'apps/misc.c') diff --git a/apps/misc.c b/apps/misc.c index 747abe0..d0300f0 100644 --- a/apps/misc.c +++ b/apps/misc.c @@ -967,6 +967,7 @@ const char* parse_list(const char *fmt, uint32_t *set_vals, const char** s; int* d; bool set, is_negative; + bool is_last_var; int i=0; va_start(ap, str); @@ -981,6 +982,7 @@ const char* parse_list(const char *fmt, uint32_t *set_vals, goto err; p++; } + is_last_var = fmt[1] == '\0'; set = false; switch (*fmt++) { @@ -988,9 +990,9 @@ const char* parse_list(const char *fmt, uint32_t *set_vals, s = va_arg(ap, const char **); *s = p; - while (*p && *p != sep) + while (*p && *p != sep && *p != ')') p++; - set = (s[0][0]!='-') && (s[0][1]!=sep) ; + set = (s[0][0]!='-') && (s[0][1]!=sep && s[0][1]!=')') ; break; case 'd': /* int */ @@ -1028,7 +1030,7 @@ const char* parse_list(const char *fmt, uint32_t *set_vals, { if (!set_vals || *p != '-') goto err; - while (*p && *p != sep) + while (*p && *p != sep && (!is_last_var || (is_last_var && *p!=')'))) p++; } else @@ -1053,7 +1055,7 @@ const char* parse_list(const char *fmt, uint32_t *set_vals, goto err; else { - while (*p && *p != sep) + while (*p && *p != sep && (!is_last_var || (is_last_var && *p!=')'))) p++; } -- cgit v1.1