diff options
| author | jacksonmj <mj-pt@jacksonmj.co.uk> | 2011-04-06 21:21:07 (GMT) |
|---|---|---|
| committer | Simon <simon@hardwired.org.uk> | 2011-04-08 10:11:48 (GMT) |
| commit | c36c90e800e5ce199efe0d375748b52fb740d686 (patch) | |
| tree | b28ed8eba8b1c8eb66eb94a2cc7c947395c8dc56 /src | |
| parent | 40c4dde34a525ea1a4911c011cabf73f5d93dcc6 (diff) | |
| download | powder-c36c90e800e5ce199efe0d375748b52fb740d686.zip powder-c36c90e800e5ce199efe0d375748b52fb740d686.tar.gz | |
Workaround for some argument parsing bugginess
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.c | 6 | ||||
| -rw-r--r-- | src/misc.c | 4 |
2 files changed, 4 insertions, 6 deletions
@@ -2232,13 +2232,11 @@ int main(int argc, char *argv[]) { file_script = 1; } - else if (!strncmp(argv[i], "open:", 5)) + else if (!strncmp(argv[i], "open", 4) && i+1<argc) { int size; void *file_data; - char *fn = malloc(strlen(argv[i]+5)+1); - strcpy(fn, argv[i]+5); - file_data = file_load(fn, &size); + file_data = file_load(argv[i+1], &size); if (file_data) { it=0; @@ -428,7 +428,7 @@ int register_extension() iconname = malloc(strlen(currentfilename)+6); opencommand = malloc(strlen(currentfilename)+13); sprintf(iconname, "%s,-102", currentfilename); - sprintf(opencommand, "\"%s\" open:\"%%1\"", currentfilename); + sprintf(opencommand, "\"%s\" open \"%%1\"", currentfilename); //Create extension entry rresult = RegCreateKeyEx(HKEY_CURRENT_USER, "Software\\Classes\\.cps", 0, 0, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &newkey, NULL); @@ -519,7 +519,7 @@ int register_extension() strcpy(desktopfiledata, desktopfiledata_tmp); strappend(desktopfiledata, "Exec="); strappend(desktopfiledata, currentfilename); - strappend(desktopfiledata, " open:%f\n"); + strappend(desktopfiledata, " open %f\n"); f = fopen("powdertoy-tpt.desktop", "wb"); if (!f) return 0; |
