// Created: 10/17/99
// RCS-ID: $Id$
// Copyright: (c) David Webster
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// For compilers that support precompilation, includes "wx.h".
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-//
-// already defined via nerror.h in app.h so undef them
-//
-#ifdef EEXIST
-#undef EEXIST
-#endif
-#ifdef ENOENT
-#undef ENOENT
-#endif
-#ifdef EMFILE
-#undef EMFILE
-#endif
-#ifdef EINTR
-#undef EINTR
-#endif
-#ifdef EINVAL
-#undef EINVAL
-#endif
-#ifdef ENOMEM
-#undef ENOMEM
-#endif
-#ifdef EACCES
-#undef EACCES
-#endif
#include <errno.h>
#include <stdarg.h>
return 0;
}
-extern wxChar wxPanelClassName[];
-
long wxExecute(
const wxString& rCommand
-, bool bSync
+, int flags
, wxProcess* pHandler
)
{
ULONG ulExecFlag;
PSZ zArgs = NULL;
PSZ zEnvs = NULL;
- ULONG ulWindowId;
APIRET rc;
- PFNWP pOldProc;
TID vTID;
- if (bSync)
+ if (flags & wxEXEC_SYNC)
ulExecFlag = EXEC_SYNC;
else
ulExecFlag = EXEC_ASYNCRESULT;
pData->vResultCodes = vResultCodes;
pData->hWnd = NULLHANDLE;
- pData->bState = bSync;
- if (bSync)
+ pData->bState = (flags & wxEXEC_SYNC) != 0;
+ if (flags & wxEXEC_SYNC)
{
wxASSERT_MSG(!pHandler, wxT("wxProcess param ignored for sync execution"));
pData->pHandler = NULL;
// the process still started up successfully...
return vResultCodes.codeTerminate;
}
- if (!bSync)
+ if (!(flags & wxEXEC_SYNC))
{
// return the pid
// warning: don't exit your app unless you actively
long wxExecute(
char** ppArgv
-, bool bSync
+, int flags
, wxProcess* pHandler
)
{
while (*ppArgv != NULL)
{
- sCommand << *ppArgv++ << ' ';
+ wxString sArg((wxChar*)(*ppArgv++));
+
+
+ sCommand << sArg.c_str() << ' ';
}
sCommand.RemoveLast();
return wxExecute( sCommand
- ,bSync
+ ,flags
,pHandler
);
}
strncpy(zBuf, zComputer, nMaxSize);
zBuf[nMaxSize] = _T('\0');
#else
- strcpy(zBuf, "noname");
+ strcpy((char*)zBuf, "noname");
#endif
return *zBuf ? TRUE : FALSE;
return TRUE;