Fossil

Diff
Login

Differences From Artifact [80cffee1d4]:

To Artifact [4c98087550]:


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