diff --git a/src/sbbs3/xtrn.cpp b/src/sbbs3/xtrn.cpp index f5f65fe39ffbb20affcec4a771b2caa324fed548..d30c5fc58c6a30faed645fccaad214d079d4c993 100644 --- a/src/sbbs3/xtrn.cpp +++ b/src/sbbs3/xtrn.cpp @@ -936,13 +936,21 @@ char * sbbs_t::cmdstr(char *instr, char *fpath, char *fspec, char *outstr) strcat(cmd,str); break; case 'Y': - strcat(cmd, - comspec - ); + strcat(cmd,comspec); break; case 'Z': strcat(cmd,cfg.text_dir); break; + case '~': /* DOS-compatible (8.3) filename */ +#ifdef _WIN32 + char sfpath[MAX_PATH]; + strcpy(sfpath,fpath); + GetShortPathName(fpath,sfpath,sizeof(sfpath)); + strcat(cmd,sfpath); +#else + strcat(cmd,fpath); +#endif + break; case '!': /* EXEC Directory */ strcat(cmd,cfg.exec_dir); break;