diff options
author | Jonathan Gordon <rockbox@jdgordon.info> | 2012-04-16 15:42:24 +1000 |
---|---|---|
committer | Thomas Martitz <kugel@rockbox.org> | 2012-04-17 17:05:20 +0200 |
commit | e43b856ed0f2fa3cb03a1335c9dc311b572e88e2 (patch) | |
tree | 4b22c3178612058c739e4e76500433d11d51615a /lib/skin_parser/skin_scan.h | |
parent | e92fbb42d7d25311cc03a69390ba758033d5134a (diff) | |
download | rockbox-e43b856ed0f2fa3cb03a1335c9dc311b572e88e2.tar.gz rockbox-e43b856ed0f2fa3cb03a1335c9dc311b572e88e2.zip |
skin_engine: rework the parser to be closer to the langauge grammar.
The parser was unconditionally scanning things which it thought
were conditional/enum lists (or tag arg lists) when they couldn't
possibly be (i.e < inside a param which should be valid).
This change fixes it (i.e %?and(%if(%pv, <, -50), %if(%mp, > 1))
is perfectly valid now.
This *may* break your exsiting skins if you were using %if with < or >
Change-Id: Ibcb42bc6bb78908f79de024b61276b91b1ce02a0
Reviewed-on: http://gerrit.rockbox.org/214
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Diffstat (limited to 'lib/skin_parser/skin_scan.h')
-rw-r--r-- | lib/skin_parser/skin_scan.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/skin_parser/skin_scan.h b/lib/skin_parser/skin_scan.h index 47d8289f98..6281582b88 100644 --- a/lib/skin_parser/skin_scan.h +++ b/lib/skin_parser/skin_scan.h | |||
@@ -29,6 +29,7 @@ extern "C" | |||
29 | 29 | ||
30 | 30 | ||
31 | /* Scanning functions */ | 31 | /* Scanning functions */ |
32 | void skip_tag(const char** document); | ||
32 | void skip_comment(const char** document); | 33 | void skip_comment(const char** document); |
33 | void skip_arglist(const char** document); | 34 | void skip_arglist(const char** document); |
34 | void skip_enumlist(const char** document); | 35 | void skip_enumlist(const char** document); |