X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=windows%2Fwinjump.c;h=e5bca9358ead86ddb74a8c48c7b138afe9842486;hb=1de7240eb88fa24a8532ded116b4ec72dd213008;hp=f674133b43d5f42e959eac215f920ffbed797d5f;hpb=0a26bd74e1800a748c24cb24c0bd77abd3fa17dc;p=PuTTY.git diff --git a/windows/winjump.c b/windows/winjump.c index f674133b..e5bca935 100644 --- a/windows/winjump.c +++ b/windows/winjump.c @@ -429,7 +429,11 @@ static IShellLink *make_shell_link(const char *appname, 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(""); } @@ -441,7 +445,8 @@ static IShellLink *make_shell_link(const char *appname, 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); @@ -457,7 +462,8 @@ static IShellLink *make_shell_link(const char *appname, 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);