Workaround for some argument parsing bugginess

This commit is contained in:
jacksonmj 2011-04-06 22:21:07 +01:00 committed by Simon
parent 40c4dde34a
commit c36c90e800
2 changed files with 4 additions and 6 deletions

View File

@ -2232,13 +2232,11 @@ int main(int argc, char *argv[])
{ {
file_script = 1; file_script = 1;
} }
else if (!strncmp(argv[i], "open:", 5)) else if (!strncmp(argv[i], "open", 4) && i+1<argc)
{ {
int size; int size;
void *file_data; void *file_data;
char *fn = malloc(strlen(argv[i]+5)+1); file_data = file_load(argv[i+1], &size);
strcpy(fn, argv[i]+5);
file_data = file_load(fn, &size);
if (file_data) if (file_data)
{ {
it=0; it=0;

View File

@ -428,7 +428,7 @@ int register_extension()
iconname = malloc(strlen(currentfilename)+6); iconname = malloc(strlen(currentfilename)+6);
opencommand = malloc(strlen(currentfilename)+13); opencommand = malloc(strlen(currentfilename)+13);
sprintf(iconname, "%s,-102", currentfilename); sprintf(iconname, "%s,-102", currentfilename);
sprintf(opencommand, "\"%s\" open:\"%%1\"", currentfilename); sprintf(opencommand, "\"%s\" open \"%%1\"", currentfilename);
//Create extension entry //Create extension entry
rresult = RegCreateKeyEx(HKEY_CURRENT_USER, "Software\\Classes\\.cps", 0, 0, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &newkey, NULL); 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); strcpy(desktopfiledata, desktopfiledata_tmp);
strappend(desktopfiledata, "Exec="); strappend(desktopfiledata, "Exec=");
strappend(desktopfiledata, currentfilename); strappend(desktopfiledata, currentfilename);
strappend(desktopfiledata, " open:%f\n"); strappend(desktopfiledata, " open %f\n");
f = fopen("powdertoy-tpt.desktop", "wb"); f = fopen("powdertoy-tpt.desktop", "wb");
if (!f) if (!f)
return 0; return 0;