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;
}
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;

View File

@ -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;