diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2011-09-27 13:17:36 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2011-09-27 13:17:36 (GMT) |
| commit | a6e71ab3f512a69c9dd147ba3f775e50e99c654b (patch) | |
| tree | 6493e969b9f7f3ef6d8d48773d101e73298b548a /src | |
| parent | d788b15068595aa4295c8366c93b4c022699e09f (diff) | |
| download | powder-a6e71ab3f512a69c9dd147ba3f775e50e99c654b.zip powder-a6e71ab3f512a69c9dd147ba3f775e50e99c654b.tar.gz | |
Fix potential issue with argument ordering
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.c | 53 |
1 files changed, 23 insertions, 30 deletions
@@ -1643,6 +1643,29 @@ int main(int argc, char *argv[]) chdir(argv[i+1]); i++; } + else if (!strncmp(argv[i], "open", 4) && i+1<argc) + { + int size; + void *file_data; + file_data = file_load(argv[i+1], &size); + if (file_data) + { + svf_last = file_data; + svf_lsize = size; + if(!parse_save(file_data, size, 1, 0, 0, bmap, fvx, fvy, signs, parts, pmap)) + { + it=0; + svf_filename[0] = 0; + svf_fileopen = 1; + } else { + svf_last = NULL; + svf_lsize = 0; + free(file_data); + file_data = NULL; + } + } + i++; + } } @@ -1688,40 +1711,10 @@ int main(int argc, char *argv[]) } else if (!strncmp(argv[i], "open", 4) && i+1<argc) { - int size; - void *file_data; - file_data = file_load(argv[i+1], &size); - if (file_data) - { - svf_last = file_data; - svf_lsize = size; - if(!parse_save(file_data, size, 1, 0, 0, bmap, fvx, fvy, signs, parts, pmap)) - { - it=0; - svf_filename[0] = 0; - svf_fileopen = 1; - } else { - svf_last = NULL; - svf_lsize = 0; - free(file_data); - file_data = NULL; - } - } i++; } else if (!strncmp(argv[i], "ddir", 4) && i+1<argc) { - /*char * temppath; - FILE *f; - temppath = malloc(strlen(argv[i+1])+19); - sprintf(temppath, "%s%s%s", argv[i+1], PATH_SEP, "powdertoydir.test") - f = fopen(temppath, "wb"); - if(f){ - chdir(argv[i+1]); - fclose(f); - remove(temppath); - } - free(temppath);*/ i++; } |
