828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
|
*/
int fossil_system(const char *zOrigCmd){
int rc;
#if defined(_WIN32)
/* On windows NT, we have to put double-quotes around the entire command.
** Who knows why - this is just the way windows works.
*/
#ifdef UNICODE
char *zNewCmd = mprintf("\"%s\"", zOrigCmd);
#else
OSVERSIONINFOA sInfo;
char *zNewCmd;
sInfo.dwOSVersionInfoSize = sizeof(sInfo);
GetVersionExA(&sInfo);
if (sInfo.dwPlatformId==VER_PLATFORM_WIN32_NT) {
zNewCmd = mprintf("\"%s\"", zOrigCmd);
} else {
zNewCmd = mprintf("%s", zOrigCmd);
}
#endif
TCHAR *zMbcs = fossil_utf8_to_mbcs(zNewCmd);
if( g.fSystemTrace ) {
char *zOut = mprintf("SYSTEM: %s\n", zNewCmd);
fossil_puts(zOut, 1);
fossil_free(zOut);
}
rc = _tsystem(zMbcs);
fossil_mbcs_free(zMbcs);
|
<
<
<
>
<
|
|
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
|
*/
int fossil_system(const char *zOrigCmd){
int rc;
#if defined(_WIN32)
/* On windows NT, we have to put double-quotes around the entire command.
** Who knows why - this is just the way windows works.
*/
OSVERSIONINFOA sInfo;
char *zNewCmd;
TCHAR *zMbcs;
sInfo.dwOSVersionInfoSize = sizeof(sInfo);
GetVersionExA(&sInfo);
if (sInfo.dwPlatformId==VER_PLATFORM_WIN32_NT) {
zNewCmd = mprintf("\"%s\"", zOrigCmd);
} else {
zNewCmd = mprintf("%s", zOrigCmd);
}
zMbcs = fossil_utf8_to_mbcs(zNewCmd);
if( g.fSystemTrace ) {
char *zOut = mprintf("SYSTEM: %s\n", zNewCmd);
fossil_puts(zOut, 1);
fossil_free(zOut);
}
rc = _tsystem(zMbcs);
fossil_mbcs_free(zMbcs);
|