From 2ea39db310b9f46c9829e0bba8b601191f03f8c6 Mon Sep 17 00:00:00 2001 From: Nicolas Pennequin Date: Fri, 13 Apr 2007 11:43:10 +0000 Subject: [PATCH] FS#7020. Make the behaviour of '#' more consistent. It now requires escaping by a '%' to be displayed. If it is not escaped, the following text will be interpreted as a comment (including the newline character). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13140 a1c6a512-1295-4272-9138-f99709370657 --- apps/gui/wps_parser.c | 3 ++- wps/iAmp.160x128x1.wps | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/gui/wps_parser.c b/apps/gui/wps_parser.c index 8e726f1b9d..c0a1202eb8 100644 --- a/apps/gui/wps_parser.c +++ b/apps/gui/wps_parser.c @@ -570,6 +570,7 @@ static int parse_token(const char *wps_bufptr, struct wps_data *wps_data) case '|': case '>': case ';': + case '#': /* escaped characters */ token->type = WPS_TOKEN_CHARACTER; token->value.c = *wps_bufptr; @@ -728,7 +729,7 @@ condlistend: /* close a conditional. sometimes we want to close them even when *current_string++ = *(wps_bufptr - 1); /* continue until we hit something that ends the string */ - while(wps_bufptr && + while(wps_bufptr && *wps_bufptr != '#' && *wps_bufptr != '%' && *wps_bufptr != ';' && *wps_bufptr != '<' && *wps_bufptr != '>' && *wps_bufptr != '|' && *wps_bufptr != '\n') diff --git a/wps/iAmp.160x128x1.wps b/wps/iAmp.160x128x1.wps index 1312ab377b..a795407531 100644 --- a/wps/iAmp.160x128x1.wps +++ b/wps/iAmp.160x128x1.wps @@ -4,7 +4,7 @@ %ac%s%?it<%it|%fn> %s%ac%?ia<%ia|%?d1<%d1|Unknown Artist>> -%ac%s%?id<%?in%t8|%t0>;%?ic<%acComposed by:%t6|%t0>;%ac%sTrack Info:%t6 +%ac%s%?id<%?in%t8|%t0>;%?ic<%acComposed by:%t6|%t0>;%ac%sTrack Info:%t6 %ac%s%?id<"%id"%?iy< (%iy)>%t8|%t0>;%?ic<%ac%s%ic%t6|%t0>;%s%ac%fb kbps%?fv< VBR>, %ff Hz%t6 %pb