diff options
| author | Cracker64 <cracker642@gmail.com> | 2011-02-04 06:00:03 (GMT) |
|---|---|---|
| committer | Cracker64 <cracker642@gmail.com> | 2011-02-04 06:00:03 (GMT) |
| commit | 9064cabf288be8ecb2fbc1c15bb4071cf3df1c22 (patch) | |
| tree | e19413ebf90d2958069b4d108e61983fbe3638c3 /src/interface.c | |
| parent | b6f1ba977cd1b33cf857816ede4dca883a989561 (diff) | |
| download | powder-9064cabf288be8ecb2fbc1c15bb4071cf3df1c22.zip powder-9064cabf288be8ecb2fbc1c15bb4071cf3df1c22.tar.gz | |
merge jacksonmj's and much better string parsing because of a function i found.
Diffstat (limited to 'src/interface.c')
| -rw-r--r-- | src/interface.c | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/src/interface.c b/src/interface.c index 346c923..31d885a 100644 --- a/src/interface.c +++ b/src/interface.c @@ -3994,32 +3994,20 @@ int console_parse_type(char *txt, int *element, char *err) int console_parse_coords(char *txt, int *x, int *y, char *err) { // TODO: use regex? - char *coordtxt; - char num[10] = ""; int nx = -1, ny = -1; - txt = mystrdup(txt); - coordtxt = strtok(txt, ","); - if (coordtxt) nx = atoi(coordtxt); - if (nx>=0 && nx<XRES) sprintf(num,"%d",nx); - if (!coordtxt || strcmp(coordtxt, num)!=0) + sscanf(txt,"%d,%d",&nx,&ny); + if (nx<0 && nx>=XRES) { strcpy(err,"Invalid coordinates"); - free(txt); return 0; } - strcpy(num,""); - coordtxt = strtok(NULL, ","); - if (coordtxt) ny = atoi(coordtxt); - if (ny>=0 && ny<YRES) sprintf(num,"%d",ny); - if (!coordtxt || strcmp(coordtxt, num)!=0) + if (ny<0 && ny>=YRES) { strcpy(err,"Invalid coordinates"); - free(txt); return 0; } *x = nx; *y = ny; - free(txt); return 1; } int console_parse_partref(char *txt, int *which, char *err) |
