From d045f59989137afc5e9138277bcb24dcfc4c5f3f Mon Sep 17 00:00:00 2001 From: Thomas Martitz Date: Fri, 25 Sep 2009 18:36:18 +0000 Subject: Redo 22825 but this time with caring about alignment. Change coordinate members in struct skin_albumart to ints. That alone gives a tiny binsize decrease. Change the struct layout (some reordering) to enable more efficient alignment which reclaims 4 of the 8 bytes. Since there's usually only 1 aa struct this should be a net gain. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22835 a1c6a512-1295-4272-9138-f99709370657 --- apps/gui/skin_engine/skin_parser.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) (limited to 'apps/gui/skin_engine/skin_parser.c') diff --git a/apps/gui/skin_engine/skin_parser.c b/apps/gui/skin_engine/skin_parser.c index ede1871414..b03bdb013d 100644 --- a/apps/gui/skin_engine/skin_parser.c +++ b/apps/gui/skin_engine/skin_parser.c @@ -983,18 +983,9 @@ static int parse_albumart_load(const char *wps_bufptr, return WPS_ERROR_INVALID_PARAM; /* malformed token: e.g. %Cl7 */ _pos = wps_bufptr + 1; - if (!isdigit(*_pos)) - return WPS_ERROR_INVALID_PARAM; /* malformed token: e.g. %Cl|@ */ - aa->albumart_x = atoi(_pos); + _pos = parse_list("dd", NULL, '|', _pos, &aa->albumart_x, &aa->albumart_y); - _pos = strchr(_pos, '|'); - if (!_pos || _pos > newline || !isdigit(*(++_pos))) - return WPS_ERROR_INVALID_PARAM; /* malformed token: e.g. %Cl|7\n or %Cl|7|@ */ - - aa->albumart_y = atoi(_pos); - - _pos = strchr(_pos, '|'); - if (!_pos || _pos > newline) + if (!_pos || _pos > newline || *_pos != '|') return WPS_ERROR_INVALID_PARAM; /* malformed token: no | after y coordinate e.g. %Cl|7|59\n */ -- cgit v1.2.3