diff options
author | Jonathan Gordon <rockbox@jdgordon.info> | 2009-10-28 06:44:37 +0000 |
---|---|---|
committer | Jonathan Gordon <rockbox@jdgordon.info> | 2009-10-28 06:44:37 +0000 |
commit | bee59000324bfd74a38d6d652dae62fc61b3b344 (patch) | |
tree | 1f210c42661e3f2bc3de3d0e73e0e2c635b43611 /apps/misc.c | |
parent | a30f25ddd422c3bf39a6c9964b25c3a7b01676b3 (diff) | |
download | rockbox-bee59000324bfd74a38d6d652dae62fc61b3b344.tar.gz rockbox-bee59000324bfd74a38d6d652dae62fc61b3b344.zip |
Allow the x and y pixel values of viewports to be a negative number..
%V|-50|0|-|..... will position that viewport 50 pixels from the right of the display at the top.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23378 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/misc.c')
-rw-r--r-- | apps/misc.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/apps/misc.c b/apps/misc.c index 5af57feb11..6be9f8f010 100644 --- a/apps/misc.c +++ b/apps/misc.c | |||
@@ -945,7 +945,7 @@ const char* parse_list(const char *fmt, uint32_t *set_vals, | |||
945 | const char* p = str, *f = fmt; | 945 | const char* p = str, *f = fmt; |
946 | const char** s; | 946 | const char** s; |
947 | int* d; | 947 | int* d; |
948 | bool set; | 948 | bool set, is_negative; |
949 | int i=0; | 949 | int i=0; |
950 | 950 | ||
951 | va_start(ap, str); | 951 | va_start(ap, str); |
@@ -973,7 +973,13 @@ const char* parse_list(const char *fmt, uint32_t *set_vals, | |||
973 | break; | 973 | break; |
974 | 974 | ||
975 | case 'd': /* int */ | 975 | case 'd': /* int */ |
976 | is_negative = false; | ||
976 | d = va_arg(ap, int*); | 977 | d = va_arg(ap, int*); |
978 | if (*p == '-' && isdigit(*(p+1))) | ||
979 | { | ||
980 | is_negative = true; | ||
981 | p++; | ||
982 | } | ||
977 | if (!isdigit(*p)) | 983 | if (!isdigit(*p)) |
978 | { | 984 | { |
979 | if (!set_vals || *p != '-') | 985 | if (!set_vals || *p != '-') |
@@ -987,6 +993,8 @@ const char* parse_list(const char *fmt, uint32_t *set_vals, | |||
987 | while (isdigit(*p)) | 993 | while (isdigit(*p)) |
988 | *d = (*d * 10) + (*p++ - '0'); | 994 | *d = (*d * 10) + (*p++ - '0'); |
989 | set = true; | 995 | set = true; |
996 | if (is_negative) | ||
997 | *d *= -1; | ||
990 | } | 998 | } |
991 | 999 | ||
992 | break; | 1000 | break; |