ret->lpVtbl->SetPath(ret, app_path);
if (sessionname) {
- param_string = dupcat("@", sessionname, NULL);
+ /* The leading space is reported to work around a Windows 10
+ * behaviour change in which an argument string starting with
+ * '@' causes the SetArguments method to silently do the wrong
+ * thing. */
+ param_string = dupcat(" @", sessionname, NULL);
} else {
param_string = dupstr("");
}
sessionname, "'", NULL);
} else {
assert(appname);
- desc_string = dupprintf("Run %.*s", strcspn(appname, "."), appname);
+ desc_string = dupprintf("Run %.*s",
+ (int)strcspn(appname, "."), appname);
}
ret->lpVtbl->SetDescription(ret, desc_string);
sfree(desc_string);
pv.pszVal = dupstr(sessionname);
} else {
assert(appname);
- pv.pszVal = dupprintf("Run %.*s", strcspn(appname, "."), appname);
+ pv.pszVal = dupprintf("Run %.*s",
+ (int)strcspn(appname, "."), appname);
}
pPS->lpVtbl->SetValue(pPS, &PKEY_Title, &pv);
sfree(pv.pszVal);