/* Generated by Nim Compiler v1.9.0 */ #define NIM_INTBITS 32 #include "nimbase.h" #include #undef LANGUAGE_C #undef MIPSEB #undef MIPSEL #undef PPC #undef R3000 #undef R4000 #undef i386 #undef linux #undef mips #undef near #undef far #undef powerpc #undef unix #define nimfr_(x, y) #define nimln_(x, y) typedef struct tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg; typedef struct NimStrPayload NimStrPayload; typedef struct NimStringV2 NimStringV2; typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg; typedef struct tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A; typedef struct tyObject_STARTUPINFO__WGlpKvY9cdd69bAwMQMNLYoQ tyObject_STARTUPINFO__WGlpKvY9cdd69bAwMQMNLYoQ; typedef struct tyObject_PROCESS_INFORMATION__rpgAdaffN9b79bo2kEQiFsMg tyObject_PROCESS_INFORMATION__rpgAdaffN9b79bo2kEQiFsMg; typedef struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A; typedef struct TNimTypeV2 TNimTypeV2; typedef struct RootObj RootObj; typedef struct tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ; typedef struct tyObject_GcEnv__g0b9ao2MXcYnUpu9b4I8eP9bQ tyObject_GcEnv__g0b9ao2MXcYnUpu9b4I8eP9bQ; typedef struct tyObject_CellSeq__sGle0igznE2T7vk4dBh5SQ tyObject_CellSeq__sGle0igznE2T7vk4dBh5SQ; typedef struct tyTuple__N4J9cV4JZGem3ljqqj5rT0Q tyTuple__N4J9cV4JZGem3ljqqj5rT0Q; typedef struct tyObject_CellSeq__z4KasHYddby49cXX2MD4LxQ tyObject_CellSeq__z4KasHYddby49cXX2MD4LxQ; typedef struct tyTuple__0F3Kz25HWtRatQmCDVHWEA tyTuple__0F3Kz25HWtRatQmCDVHWEA; typedef struct tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw; typedef struct tyTuple__0hEbbYmlam6yzyW5MFo9cjg tyTuple__0hEbbYmlam6yzyW5MFo9cjg; typedef struct tySequence__xv3aaFd3JCw8NbmALHiezQ tySequence__xv3aaFd3JCw8NbmALHiezQ; typedef struct tySequence__xv3aaFd3JCw8NbmALHiezQ_Content tySequence__xv3aaFd3JCw8NbmALHiezQ_Content; typedef struct tyTuple__sPaDkVPSC0MkcoXCxPH9ccA tyTuple__sPaDkVPSC0MkcoXCxPH9ccA; typedef struct tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ; typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA; typedef struct tyTuple__XOVT24GHXwqiEj5GCsEGCA tyTuple__XOVT24GHXwqiEj5GCsEGCA; typedef struct tySequence__PrBYolTs4TOSgE8v5oqDUQ tySequence__PrBYolTs4TOSgE8v5oqDUQ; typedef struct tySequence__PrBYolTs4TOSgE8v5oqDUQ_Content tySequence__PrBYolTs4TOSgE8v5oqDUQ_Content; typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g; typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content tySequence__qwqHTkRvwhrRyENtudHQ7g_Content; struct NimStrPayload { NI cap; NIM_CHAR data[SEQ_DECL_SIZE]; }; struct NimStringV2 { NI len; NimStrPayload* p; }; typedef NU8 tySet_tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA; struct tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A { NI bytes; NI16* data; }; struct tyObject_STARTUPINFO__WGlpKvY9cdd69bAwMQMNLYoQ { NI32 cb; NCSTRING lpReserved; NCSTRING lpDesktop; NCSTRING lpTitle; NI32 dwX; NI32 dwY; NI32 dwXSize; NI32 dwYSize; NI32 dwXCountChars; NI32 dwYCountChars; NI32 dwFillAttribute; NI32 dwFlags; NI16 wShowWindow; NI16 cbReserved2; void* lpReserved2; NI hStdInput; NI hStdOutput; NI hStdError; }; struct tyObject_PROCESS_INFORMATION__rpgAdaffN9b79bo2kEQiFsMg { NI hProcess; NI hThread; NI32 dwProcessId; NI32 dwThreadId; }; struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A { NI rc; NI rootIdx; }; struct TNimTypeV2 { void* destructor; NI size; NI16 align; NI16 depth; NU32* display; void* traceImpl; void* typeInfoV1; NI flags; }; struct RootObj { TNimTypeV2* m_type; }; struct tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg { RootObj Sup; NI fProcessHandle; NI fThreadHandle; int inHandle; int outHandle; int errHandle; NI id; tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* inStream; tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* outStream; tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* errStream; int exitStatus; NIM_BOOL exitFlag; tySet_tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA options; }; struct tyObject_CellSeq__sGle0igznE2T7vk4dBh5SQ { NI len; NI cap; tyTuple__N4J9cV4JZGem3ljqqj5rT0Q* d; }; struct tyObject_CellSeq__z4KasHYddby49cXX2MD4LxQ { NI len; NI cap; tyTuple__0F3Kz25HWtRatQmCDVHWEA* d; }; struct tyObject_GcEnv__g0b9ao2MXcYnUpu9b4I8eP9bQ { tyObject_CellSeq__sGle0igznE2T7vk4dBh5SQ traceStack; tyObject_CellSeq__z4KasHYddby49cXX2MD4LxQ toFree; NI freed; NI touched; NI edges; NI rcSum; NIM_BOOL keepThreshold; }; struct tyTuple__N4J9cV4JZGem3ljqqj5rT0Q { void** Field0; TNimTypeV2* Field1; }; typedef tyTuple__N4J9cV4JZGem3ljqqj5rT0Q tyUncheckedArray__72XmdLy0QAaMtx66AmNKfA[1]; typedef NU8 tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA; struct tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw { NI32 nLength; void* lpSecurityDescriptor; NI32 bInheritHandle; }; typedef N_STDCALL_PTR(NI32, tyProc__C5kM33gEhlSKPXwfDNHofQ) (NI* hReadPipe, NI* hWritePipe, tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw* lpPipeAttributes, NI32 nSize); typedef N_STDCALL_PTR(NI32, tyProc__mBVOPXmpGfUrrbA9a5K9cMbQ) (NI hObject, NI32 dwMask, NI32 dwFlags); typedef N_STDCALL_PTR(NI, tyProc__IDUPJnDaqrBXTB4aj79bKLg) (NI16* lpName, NI32 dwOpenMode, NI32 dwPipeMode, NI32 nMaxInstances, NI32 nOutBufferSize, NI32 nInBufferSize, NI32 nDefaultTimeOut, tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw* lpSecurityAttributes); typedef NI16 tyUncheckedArray__Tyd4y3haUOOHTj71TPIRag[1]; typedef N_STDCALL_PTR(NI, tyProc__Q9box9as0S1hHKH9cSO3MGDDA) (NI16* lpFileName, NI32 dwDesiredAccess, NI32 dwShareMode, void* lpSecurityAttributes, NI32 dwCreationDisposition, NI32 dwFlagsAndAttributes, NI hTemplateFile); typedef N_STDCALL_PTR(NI, tyProc__uryidYWkntM7ddjZSyxvyQ) (void); typedef N_STDCALL_PTR(NI32, tyProc__oew1DfaGl5XhHmnBK0HYXQ) (NI hSourceProcessHandle, NI hSourceHandle, NI hTargetProcessHandle, NI* lpTargetHandle, NI32 dwDesiredAccess, NI32 bInheritHandle, NI32 dwOptions); typedef N_STDCALL_PTR(NI32, tyProc__P13srMBg9b3d3yEV9aW4NCoA) (NI hObject); typedef N_STDCALL_PTR(NI, tyProc__zP2zGemcuVRvOUE82f9a0Pw) (NI32 nStdHandle); struct tyTuple__0hEbbYmlam6yzyW5MFo9cjg { NCSTRING Field0; NI Field1; }; struct tySequence__xv3aaFd3JCw8NbmALHiezQ { NI len; tySequence__xv3aaFd3JCw8NbmALHiezQ_Content* p; }; typedef NU8 tyEnum_StringTableMode__G9c4wVDFIzf0xHmQvxso9a9cQ; struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg { RootObj Sup; NI counter; tySequence__xv3aaFd3JCw8NbmALHiezQ data; tyEnum_StringTableMode__G9c4wVDFIzf0xHmQvxso9a9cQ mode; }; struct tyTuple__sPaDkVPSC0MkcoXCxPH9ccA { NimStringV2 Field0; NimStringV2 Field1; NIM_BOOL Field2; }; typedef NimStringV2 tyArray__nHXaesL0DJZHyVS07ARPRA[1]; typedef N_STDCALL_PTR(NI32, tyProc__Ij9aBl82y9bf8kihDdsUvIEg) (NI16* lpApplicationName, NI16* lpCommandLine, tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw* lpProcessAttributes, tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw* lpThreadAttributes, NI32 bInheritHandles, NI32 dwCreationFlags, NI16* lpEnvironment, NI16* lpCurrentDirectory, tyObject_STARTUPINFO__WGlpKvY9cdd69bAwMQMNLYoQ* lpStartupInfo, tyObject_PROCESS_INFORMATION__rpgAdaffN9b79bo2kEQiFsMg* lpProcessInformation); typedef N_NIMCALL_PTR(void, tyProc__JQrsH08b4uPTH9cyFPlVOZg) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s); typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__9bmhFrLahRsL2hltfRDVtlQ) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s); typedef N_NIMCALL_PTR(void, tyProc__3svSoGIUJIsHkaBL7q4DAQ) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, NI pos); typedef N_NIMCALL_PTR(NI, tyProc__xflqkf2D1uVClg70czEDHA) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s); typedef N_NIMCALL_PTR(NI, tyProc__c9c0f59ak4YGQ6neEym8LPKw) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, NimStringV2* buffer, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA slice); typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__7jFfqMk9ajToCz6Hv9atCA4A) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, NimStringV2* line); typedef N_NIMCALL_PTR(NI, tyProc__2VVzVL9bOnKhj1eZKkf9cEuA) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, void* buffer, NI bufLen); typedef N_NIMCALL_PTR(void, tyProc__ki6p1QyfOkJLQJ9aw5NI0AQ) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, void* buffer, NI bufLen); struct tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ { RootObj Sup; tyProc__JQrsH08b4uPTH9cyFPlVOZg closeImpl; tyProc__9bmhFrLahRsL2hltfRDVtlQ atEndImpl; tyProc__3svSoGIUJIsHkaBL7q4DAQ setPositionImpl; tyProc__xflqkf2D1uVClg70czEDHA getPositionImpl; tyProc__c9c0f59ak4YGQ6neEym8LPKw readDataStrImpl; tyProc__7jFfqMk9ajToCz6Hv9atCA4A readLineImpl; tyProc__2VVzVL9bOnKhj1eZKkf9cEuA readDataImpl; tyProc__2VVzVL9bOnKhj1eZKkf9cEuA peekDataImpl; tyProc__ki6p1QyfOkJLQJ9aw5NI0AQ writeDataImpl; tyProc__JQrsH08b4uPTH9cyFPlVOZg flushImpl; }; struct tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ { tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ Sup; NI handle; NIM_BOOL atTheEnd; }; typedef N_STDCALL_PTR(NI32, tyProc__9ajZYMGL5GqiRFqiCC367oA) (NI hFile, void* buffer, NI32 nNumberOfBytesToRead, NI32* lpNumberOfBytesRead, void* lpOverlapped); typedef N_STDCALL_PTR(NI32, tyProc__FprzxJFfqQdWyyGxiUsmeQ) (NI hHandle, NI32 dwMilliseconds); typedef N_STDCALL_PTR(NI32, tyProc__7S2vVNF4dlY59blFohNWnHg) (NI hProcess, NI uExitCode); typedef N_STDCALL_PTR(NI32, tyProc__KxeGXN001TReCr89ca9c5bng) (NI hProcess, NI32* lpExitCode); struct tyTuple__XOVT24GHXwqiEj5GCsEGCA { NimStringV2 Field0; NI Field1; }; typedef NimStringV2 tyArray__8ZvwQIddfpj2THRVPsFzIQ[1]; typedef struct { N_NIMCALL_PTR(void, ClP_0) (NI idx, void* ClE_0); void* ClE_0; } tyProc__SqRJqa5aOiKB4EuKlKh9asA; typedef struct { N_NIMCALL_PTR(void, ClP_0) (NI idx, tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p, void* ClE_0); void* ClE_0; } tyProc__oudJckli4GdxAXLVzBBlAw; struct tySequence__PrBYolTs4TOSgE8v5oqDUQ { NI len; tySequence__PrBYolTs4TOSgE8v5oqDUQ_Content* p; }; struct tySequence__qwqHTkRvwhrRyENtudHQ7g { NI len; tySequence__qwqHTkRvwhrRyENtudHQ7g_Content* p; }; typedef NI tyArray__SLBTEB08vk46ttuRaTxAYw[64]; typedef N_CLOSURE_PTR(void, TM__HZdw8BhppcTQo8DIK46LSg_31) (NI idx); typedef N_STDCALL_PTR(NI32, tyProc__Dx0emMHXXGxkRnYGUaFLbg) (NI32 nCount, NI* lpHandles, NI32 bWaitAll, NI32 dwMilliseconds); typedef N_CLOSURE_PTR(void, TM__HZdw8BhppcTQo8DIK46LSg_35) (NI idx, tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p); typedef N_CLOSURE_PTR(void, TM__HZdw8BhppcTQo8DIK46LSg_36) (NI idx); typedef N_CLOSURE_PTR(void, TM__HZdw8BhppcTQo8DIK46LSg_38) (NI idx); typedef N_CLOSURE_PTR(void, TM__HZdw8BhppcTQo8DIK46LSg_40) (NI idx, tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p); #ifndef tySequence__xv3aaFd3JCw8NbmALHiezQ_Content_PP #define tySequence__xv3aaFd3JCw8NbmALHiezQ_Content_PP struct tySequence__xv3aaFd3JCw8NbmALHiezQ_Content { NI cap; tyTuple__sPaDkVPSC0MkcoXCxPH9ccA data[SEQ_DECL_SIZE];}; #endif struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA { NI a; NI b; }; #ifndef tySequence__PrBYolTs4TOSgE8v5oqDUQ_Content_PP #define tySequence__PrBYolTs4TOSgE8v5oqDUQ_Content_PP struct tySequence__PrBYolTs4TOSgE8v5oqDUQ_Content { NI cap; tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP #define tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI data[SEQ_DECL_SIZE];}; #endif static N_INLINE(void, nimZeroMem)(void* p, NI size); static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size); static N_INLINE(NIM_BOOL*, nimErrorFlag)(void); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZosproc_206)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg** dest); static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p); static N_INLINE(NI, minuspercent___system_790)(NI x, NI y); N_LIB_PRIVATE N_NOINLINE(void, rememberCycle__system_3141)(NIM_BOOL isDestroyAction, tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* s, TNimTypeV2* desc); N_LIB_PRIVATE N_NIMCALL(void, nimDestroyAndDispose)(void* p); N_LIB_PRIVATE N_NIMCALL(void*, nimNewObj)(NI size, NI alignment); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZosproc_219)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* dest); N_LIB_PRIVATE N_NIMCALL(void, eqtrace___pureZosproc_228)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* dest, void* env); static N_INLINE(void, nimTraceRefDyn)(void* q, void* env); static N_INLINE(void, add__system_2686)(tyObject_CellSeq__sGle0igznE2T7vk4dBh5SQ* s, void** c, TNimTypeV2* t); N_LIB_PRIVATE N_NOCONV(void*, allocImpl__system_1735)(NI size); static N_INLINE(void, copyMem__system_1719)(void* dest, void* source, NI size); static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size); N_LIB_PRIVATE N_NOCONV(void, dealloc)(void* p); N_LIB_PRIVATE N_NIMCALL(void, createPipeHandles__pureZosproc_787)(NI* rdHandle, NI* wrHandle); N_LIB_PRIVATE N_NOINLINE(void, raiseOSError__stdZoserrors_86)(NI32 errorCode, NimStringV2 additionalInfo); N_LIB_PRIVATE N_NIMCALL(NI32, osLastError__stdZoserrors_89)(void); N_LIB_PRIVATE N_NIMCALL(void, createAllPipeHandles__pureZosproc_752)(tyObject_STARTUPINFO__WGlpKvY9cdd69bAwMQMNLYoQ* si, NI* stdin_0, NI* stdout_0, NI* stderr_0, NI hash); N_LIB_PRIVATE N_NIMCALL(tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A, newWideCString__stdZwidestrs_287)(NimStringV2 s); static N_INLINE(void, appendString)(NimStringV2* dest, NimStringV2 src); N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___systemZdollars_3)(NI x); N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space); static N_INLINE(NI16*, toWideCString__stdZwidestrs_41)(tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A x); N_LIB_PRIVATE N_NIMCALL(NI, myDup__pureZosproc_747)(NI h, NI32 inherit); static N_INLINE(void, closeHandleCheck__pureZosproc_636)(NI handle); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZassertions_13)(NimStringV2* dest); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZwidestrs_6)(tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A* a); static N_INLINE(NCSTRING, nimToCStringConv)(NimStringV2 s); N_LIB_PRIVATE N_NIMCALL(NimStringV2, buildCommandLine__pureZosproc_701)(NimStringV2 a, NimStringV2* args, NI argsLen_0); N_LIB_PRIVATE N_NIMCALL(NimStringV2, nospquoteShell)(NimStringV2 s); static N_INLINE(void, nimAddCharV1)(NimStringV2* s, NIM_CHAR c); N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s, NI addlen); N_LIB_PRIVATE N_NIMCALL(tyTuple__0hEbbYmlam6yzyW5MFo9cjg, buildEnv__pureZosproc_713)(tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* env); N_LIB_PRIVATE N_NIMCALL(void, eqcopy___stdZassertions_16)(NimStringV2* dest, NimStringV2 src); N_LIB_PRIVATE N_NOCONV(void*, alloc0Impl__system_1737)(NI size); N_LIB_PRIVATE N_NIMCALL(NimStringV2, cstrToNimstr)(NCSTRING str); N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringV2* args, NI argsLen_0); N_LIB_PRIVATE N_NIMCALL(tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A, newWideCString__stdZwidestrs_281)(NCSTRING s); N_LIB_PRIVATE N_NIMCALL(tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A, newWideCString__stdZwidestrs_260)(NCSTRING source, NI L); static N_INLINE(void, fileClose__pureZosproc_643)(NI* h); static N_INLINE(NIM_BOOL, eqeq___system_7539)(NCSTRING x, NCSTRING y); N_LIB_PRIVATE N_NIMCALL(void, nospclose)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p); static N_INLINE(void, fileClose__pureZosproc_929)(int* h); N_LIB_PRIVATE N_NIMCALL(void, close__pureZstreams_58)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s); N_LIB_PRIVATE N_NIMCALL(void, closeThreadAndProcessHandle__pureZosproc_917)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p); N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatSingleElem)(NimStringV2 formatstr, NimStringV2 a); N_LIB_PRIVATE N_NIMCALL(void, eqsink___pureZstreams_620)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ** dest, tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* src); N_LIB_PRIVATE N_NIMCALL(tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ*, newFileHandleStream__pureZosproc_695)(NI handle); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZosproc_646)(tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ** dest); N_LIB_PRIVATE N_NIMCALL(void, hsClose__pureZosproc_641)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hsAtEnd__pureZosproc_677)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s); N_LIB_PRIVATE N_NIMCALL(NI, hsReadData__pureZosproc_680)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, void* buffer, NI bufLen); N_LIB_PRIVATE N_NIMCALL(void, hsWriteData__pureZosproc_688)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, void* buffer, NI bufLen); N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZstreams_616)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ** dest, tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* src, NIM_BOOL cyclic); N_LIB_PRIVATE N_NIMCALL(void, nospterminate)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosprunning)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p); N_LIB_PRIVATE N_NIMCALL(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg*, nospstartProcess)(NimStringV2 command, NimStringV2 workingDir, NimStringV2* args, NI argsLen_0, tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* env, tySet_tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA options); N_LIB_PRIVATE N_NIMCALL(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ*, nospoutputStream)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p); N_LIB_PRIVATE N_NIMCALL(void, write__pureZstreams_184)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, NimStringV2 x); N_LIB_PRIVATE N_NIMCALL(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ*, nospinputStream)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZstreams_613)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ** dest); N_NIMCALL(NimStringV2, rawNewString)(NI cap); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, readLine__pureZstreams_543)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, NimStringV2* line); N_LIB_PRIVATE N_NIMCALL(NI, nosppeekExitCode)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p); N_LIB_PRIVATE N_NIMCALL(NI, ncpicountProcessors)(void); N_LIB_PRIVATE N_NIMCALL(tySequence__PrBYolTs4TOSgE8v5oqDUQ, newSeq__pureZosproc_267)(NI len); N_LIB_PRIVATE N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g, newSeq__pureZosproc_398)(NI len); N_LIB_PRIVATE N_NIMCALL(void, eqsink___pureZosproc_213)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg** dest, tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* src); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZosproc_406)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZosproc_275)(tySequence__PrBYolTs4TOSgE8v5oqDUQ* dest); N_LIB_PRIVATE N_NIMCALL(NI, nospwaitForExit)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p, NI timeout); N_LIB_PRIVATE TNimTypeV2 NTIv2__2rGNQnv9bU4hanI2g3svReg_; static const struct { NI cap; NIM_CHAR data[0+1]; } TM__HZdw8BhppcTQo8DIK46LSg_3 = { 0 | NIM_STRLIT_FLAG, "" }; static const NimStringV2 TM__HZdw8BhppcTQo8DIK46LSg_4 = {0, (NimStrPayload*)&TM__HZdw8BhppcTQo8DIK46LSg_3}; static const NimStringV2 TM__HZdw8BhppcTQo8DIK46LSg_5 = {0, (NimStrPayload*)&TM__HZdw8BhppcTQo8DIK46LSg_3}; static const NimStringV2 TM__HZdw8BhppcTQo8DIK46LSg_6 = {0, (NimStrPayload*)&TM__HZdw8BhppcTQo8DIK46LSg_3}; static const NimStringV2 TM__HZdw8BhppcTQo8DIK46LSg_7 = {0, (NimStrPayload*)&TM__HZdw8BhppcTQo8DIK46LSg_3}; static const struct { NI cap; NIM_CHAR data[15+1]; } TM__HZdw8BhppcTQo8DIK46LSg_8 = { 15 | NIM_STRLIT_FLAG, "\\\\.\\pipe\\stdout" }; static const NimStringV2 TM__HZdw8BhppcTQo8DIK46LSg_9 = {15, (NimStrPayload*)&TM__HZdw8BhppcTQo8DIK46LSg_8}; static const struct { NI cap; NIM_CHAR data[14+1]; } TM__HZdw8BhppcTQo8DIK46LSg_10 = { 14 | NIM_STRLIT_FLAG, "\\\\.\\pipe\\stdin" }; static const NimStringV2 TM__HZdw8BhppcTQo8DIK46LSg_11 = {14, (NimStrPayload*)&TM__HZdw8BhppcTQo8DIK46LSg_10}; static const NimStringV2 TM__HZdw8BhppcTQo8DIK46LSg_12 = {0, (NimStrPayload*)&TM__HZdw8BhppcTQo8DIK46LSg_3}; static const NimStringV2 TM__HZdw8BhppcTQo8DIK46LSg_13 = {0, (NimStrPayload*)&TM__HZdw8BhppcTQo8DIK46LSg_3}; static const NimStringV2 TM__HZdw8BhppcTQo8DIK46LSg_14 = {0, (NimStrPayload*)&TM__HZdw8BhppcTQo8DIK46LSg_3}; static const NimStringV2 TM__HZdw8BhppcTQo8DIK46LSg_15 = {0, (NimStrPayload*)&TM__HZdw8BhppcTQo8DIK46LSg_3}; static const NimStringV2 TM__HZdw8BhppcTQo8DIK46LSg_16 = {0, (NimStrPayload*)&TM__HZdw8BhppcTQo8DIK46LSg_3}; static const NimStringV2 TM__HZdw8BhppcTQo8DIK46LSg_17 = {0, (NimStrPayload*)&TM__HZdw8BhppcTQo8DIK46LSg_3}; static const struct { NI cap; NIM_CHAR data[1+1]; } TM__HZdw8BhppcTQo8DIK46LSg_19 = { 1 | NIM_STRLIT_FLAG, "=" }; static const NimStringV2 TM__HZdw8BhppcTQo8DIK46LSg_20 = {1, (NimStrPayload*)&TM__HZdw8BhppcTQo8DIK46LSg_19}; static const struct { NI cap; NIM_CHAR data[44+1]; } TM__HZdw8BhppcTQo8DIK46LSg_21 = { 44 | NIM_STRLIT_FLAG, "Requested command not found: \'$1\'. OS error:" }; static const NimStringV2 TM__HZdw8BhppcTQo8DIK46LSg_22 = {44, (NimStrPayload*)&TM__HZdw8BhppcTQo8DIK46LSg_21}; N_LIB_PRIVATE TNimTypeV2 NTIv2__Uwf6VGZy4JPKquxCiOCalQ_; static const NimStringV2 TM__HZdw8BhppcTQo8DIK46LSg_24 = {0, (NimStrPayload*)&TM__HZdw8BhppcTQo8DIK46LSg_3}; static const NimStringV2 TM__HZdw8BhppcTQo8DIK46LSg_25 = {0, (NimStrPayload*)&TM__HZdw8BhppcTQo8DIK46LSg_3}; static const NimStringV2 TM__HZdw8BhppcTQo8DIK46LSg_26 = {0, (NimStrPayload*)&TM__HZdw8BhppcTQo8DIK46LSg_3}; static const struct { NI cap; NIM_CHAR data[1+1]; } TM__HZdw8BhppcTQo8DIK46LSg_27 = { 1 | NIM_STRLIT_FLAG, "\012" }; static const NimStringV2 TM__HZdw8BhppcTQo8DIK46LSg_28 = {1, (NimStrPayload*)&TM__HZdw8BhppcTQo8DIK46LSg_27}; static const NimStringV2 TM__HZdw8BhppcTQo8DIK46LSg_29 = {0, (NimStrPayload*)&TM__HZdw8BhppcTQo8DIK46LSg_3}; static NIM_CONST tyProc__SqRJqa5aOiKB4EuKlKh9asA TM__HZdw8BhppcTQo8DIK46LSg_30 = {NIM_NIL,NIM_NIL}; static const NimStringV2 TM__HZdw8BhppcTQo8DIK46LSg_32 = {0, (NimStrPayload*)&TM__HZdw8BhppcTQo8DIK46LSg_3}; static const NimStringV2 TM__HZdw8BhppcTQo8DIK46LSg_33 = {0, (NimStrPayload*)&TM__HZdw8BhppcTQo8DIK46LSg_3}; static NIM_CONST tyProc__oudJckli4GdxAXLVzBBlAw TM__HZdw8BhppcTQo8DIK46LSg_34 = {NIM_NIL,NIM_NIL}; static const NimStringV2 TM__HZdw8BhppcTQo8DIK46LSg_37 = {0, (NimStrPayload*)&TM__HZdw8BhppcTQo8DIK46LSg_3}; static const NimStringV2 TM__HZdw8BhppcTQo8DIK46LSg_39 = {0, (NimStrPayload*)&TM__HZdw8BhppcTQo8DIK46LSg_3}; static NIM_CONST tyTuple__0hEbbYmlam6yzyW5MFo9cjg TM__HZdw8BhppcTQo8DIK46LSg_18 = {((NCSTRING) NIM_NIL), ((NI)-1)} ; extern NIM_BOOL nimInErrorMode__system_3980; static NIM_CONST NU32 TM__HZdw8BhppcTQo8DIK46LSg_2[2] = {3701606400, 2978824704}; N_LIB_PRIVATE TNimTypeV2 NTIv2__2rGNQnv9bU4hanI2g3svReg_ = {.destructor = (void*)eqdestroy___pureZosproc_219, .size = sizeof(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg), .align = (NI16) NIM_ALIGNOF(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg), .depth = 1, .display = TM__HZdw8BhppcTQo8DIK46LSg_2, .traceImpl = (void*)eqtrace___pureZosproc_228, .flags = 0}; extern tyProc__C5kM33gEhlSKPXwfDNHofQ Dl_1442840696_; extern tyProc__mBVOPXmpGfUrrbA9a5K9cMbQ Dl_1442841175_; extern tyProc__IDUPJnDaqrBXTB4aj79bKLg Dl_1442840701_; extern tyProc__Q9box9as0S1hHKH9cSO3MGDDA Dl_1442841180_; extern tyProc__uryidYWkntM7ddjZSyxvyQ Dl_1442841179_; extern tyProc__oew1DfaGl5XhHmnBK0HYXQ Dl_1442841164_; extern tyProc__P13srMBg9b3d3yEV9aW4NCoA Dl_1442840682_; extern tyProc__zP2zGemcuVRvOUE82f9a0Pw Dl_1442840741_; extern tyProc__Ij9aBl82y9bf8kihDdsUvIEg Dl_1442840717_; static NIM_CONST NU32 TM__HZdw8BhppcTQo8DIK46LSg_23[3] = {3701606400, 1981855744, 133846016}; N_LIB_PRIVATE TNimTypeV2 NTIv2__Uwf6VGZy4JPKquxCiOCalQ_ = {.destructor = (void*)NIM_NIL, .size = sizeof(tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ), .align = (NI16) NIM_ALIGNOF(tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ), .depth = 2, .display = TM__HZdw8BhppcTQo8DIK46LSg_23, .traceImpl = (void*)NIM_NIL, .flags = 0}; extern tyProc__9ajZYMGL5GqiRFqiCC367oA Dl_1442840684_; extern tyProc__9ajZYMGL5GqiRFqiCC367oA Dl_1442840690_; extern tyProc__FprzxJFfqQdWyyGxiUsmeQ Dl_1442840732_; extern tyProc__7S2vVNF4dlY59blFohNWnHg Dl_1442840735_; extern tyProc__KxeGXN001TReCr89ca9c5bng Dl_1442840738_; extern tyProc__Dx0emMHXXGxkRnYGUaFLbg Dl_1442841126_; static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) { void* T1_; T1_ = (void*)0; T1_ = memset(a, v, ((size_t) (size))); } static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) { NIM_BOOL* result; result = (NIM_BOOL*)0; result = (&nimInErrorMode__system_3980); return result; } static N_INLINE(void, nimZeroMem)(void* p, NI size) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); nimSetMem__systemZmemory_7(p, ((int)0), size); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } static N_INLINE(NI, minuspercent___system_790)(NI x, NI y) { NI result; result = (NI)0; result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y)))))); return result; } static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p) { NIM_BOOL result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NIM_BOOL)0; { tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* cell; NI T5_; if (!!((p == NIM_NIL))) goto LA3_; T5_ = (NI)0; T5_ = minuspercent___system_790(((NI) (ptrdiff_t) (p)), ((NI)8)); cell = ((tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A*) (T5_)); { if (!((NI)((*cell).rc & ((NI)-16)) == ((NI)0))) goto LA8_; result = NIM_TRUE; } goto LA6_; LA8_: ; { (*cell).rc -= ((NI)16); } LA6_: ; rememberCycle__system_3141(result, cell, (*((TNimTypeV2**) (p)))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA3_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZosproc_206)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg** dest) { { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = nimDecRefIsLastCyclicDyn((*dest)); if (!T3_) goto LA4_; nimDestroyAndDispose((*dest)); } LA4_: ; } N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZosproc_219)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* dest) { { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = nimDecRefIsLastCyclicDyn((*dest).inStream); if (!T3_) goto LA4_; nimDestroyAndDispose((*dest).inStream); } LA4_: ; { NIM_BOOL T8_; T8_ = (NIM_BOOL)0; T8_ = nimDecRefIsLastCyclicDyn((*dest).outStream); if (!T8_) goto LA9_; nimDestroyAndDispose((*dest).outStream); } LA9_: ; { NIM_BOOL T13_; T13_ = (NIM_BOOL)0; T13_ = nimDecRefIsLastCyclicDyn((*dest).errStream); if (!T13_) goto LA14_; nimDestroyAndDispose((*dest).errStream); } LA14_: ; } static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) { void* T1_; T1_ = (void*)0; T1_ = memcpy(dest, source, ((size_t) (size))); } static N_INLINE(void, copyMem__system_1719)(void* dest, void* source, NI size) { nimCopyMem(dest, source, size); } static N_INLINE(void, add__system_2686)(tyObject_CellSeq__sGle0igznE2T7vk4dBh5SQ* s, void** c, TNimTypeV2* t) { void** colontmp_; TNimTypeV2* colontmp__2; { tyTuple__N4J9cV4JZGem3ljqqj5rT0Q* d; void* T5_; if (!((*s).cap <= (*s).len)) goto LA3_; (*s).cap = (NI)((NI)((*s).cap * ((NI)3)) / ((NI)2)); T5_ = (void*)0; T5_ = allocImpl__system_1735(((NI) ((NI)((*s).cap * ((NI)8))))); d = ((tyTuple__N4J9cV4JZGem3ljqqj5rT0Q*) (T5_)); copyMem__system_1719(((void*) (d)), ((void*) ((*s).d)), ((NI) ((NI)((*s).len * ((NI)8))))); dealloc(((void*) ((*s).d))); (*s).d = d; } LA3_: ; colontmp_ = c; colontmp__2 = t; (*s).d[(*s).len].Field0 = colontmp_; (*s).d[(*s).len].Field1 = colontmp__2; (*s).len += ((NI)1); } static N_INLINE(void, nimTraceRefDyn)(void* q, void* env) { void** p; p = ((void**) (q)); { tyObject_GcEnv__g0b9ao2MXcYnUpu9b4I8eP9bQ* j; if (!!(((*p) == NIM_NIL))) goto LA3_; j = ((tyObject_GcEnv__g0b9ao2MXcYnUpu9b4I8eP9bQ*) (env)); add__system_2686((&(*j).traceStack), p, (*((TNimTypeV2**) ((*p))))); } LA3_: ; } N_LIB_PRIVATE N_NIMCALL(void, eqtrace___pureZosproc_228)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* dest, void* env) { nimTraceRefDyn(&(*dest).inStream, env); nimTraceRefDyn(&(*dest).outStream, env); nimTraceRefDyn(&(*dest).errStream, env); } N_LIB_PRIVATE N_NIMCALL(void, createPipeHandles__pureZosproc_787)(NI* rdHandle, NI* wrHandle) { tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw sa; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); nimZeroMem((void*)(&sa), sizeof(tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw)); sa.nLength = ((int)12); sa.lpSecurityDescriptor = NIM_NIL; sa.bInheritHandle = ((NI32)1); { NI32 T3_; NI32 T6_; T3_ = (NI32)0; T3_ = Dl_1442840696_(rdHandle, wrHandle, (&sa), ((NI32)0)); if (!(T3_ == ((NI32)0))) goto LA4_; T6_ = (NI32)0; T6_ = osLastError__stdZoserrors_89(); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; raiseOSError__stdZoserrors_86(T6_, TM__HZdw8BhppcTQo8DIK46LSg_4); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA4_: ; }BeforeRet_: ; } static N_INLINE(void, appendString)(NimStringV2* dest, NimStringV2 src) { { if (!(((NI)0) < src.len)) goto LA3_; copyMem__system_1719(((void*) ((&(*(*dest).p).data[(*dest).len]))), ((void*) ((&(*src.p).data[((NI)0)]))), ((NI) ((NI)(src.len + ((NI)1))))); (*dest).len += src.len; } LA3_: ; } static N_INLINE(NI16*, toWideCString__stdZwidestrs_41)(tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A x) { NI16* result; result = (NI16*)0; result = x.data; return result; } N_LIB_PRIVATE N_NIMCALL(NI, myDup__pureZosproc_747)(NI h, NI32 inherit) { NI result; NI thisProc; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; thisProc = Dl_1442841179_(); { NI32 T3_; NI32 T6_; T3_ = (NI32)0; T3_ = Dl_1442841164_(thisProc, h, thisProc, (&result), ((NI32)0), inherit, ((NI32)2)); if (!(T3_ == ((NI32)0))) goto LA4_; T6_ = (NI32)0; T6_ = osLastError__stdZoserrors_89(); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; raiseOSError__stdZoserrors_86(T6_, TM__HZdw8BhppcTQo8DIK46LSg_15); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA4_: ; }BeforeRet_: ; return result; } static N_INLINE(void, closeHandleCheck__pureZosproc_636)(NI handle) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); { NI32 T3_; NI32 T6_; T3_ = (NI32)0; T3_ = Dl_1442840682_(handle); if (!(T3_ == ((NI32)0))) goto LA4_; T6_ = (NI32)0; T6_ = osLastError__stdZoserrors_89(); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; raiseOSError__stdZoserrors_86(T6_, TM__HZdw8BhppcTQo8DIK46LSg_17); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA4_: ; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, createAllPipeHandles__pureZosproc_752)(tyObject_STARTUPINFO__WGlpKvY9cdd69bAwMQMNLYoQ* si, NI* stdin_0, NI* stdout_0, NI* stderr_0, NI hash) { tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A pipeOutName; NimStringV2 colontmpD_; NimStringV2 colontmpD__2; tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A pipeInName; NimStringV2 colontmpD__3; NimStringV2 colontmpD__4; tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw sa; NimStringV2 T2_; NimStringV2 T3_; NI pipeOut; NI16* T4_; NI pipeIn; NI16* T10_; NI16* T16_; NI T22_; NI16* T23_; NI T29_; NI T30_; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); nimZeroMem((void*)(&pipeOutName), sizeof(tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A)); colontmpD_.len = 0; colontmpD_.p = NIM_NIL; colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL; nimZeroMem((void*)(&pipeInName), sizeof(tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A)); colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL; colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL; nimZeroMem((void*)(&sa), sizeof(tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw)); sa.nLength = ((int)12); sa.lpSecurityDescriptor = NIM_NIL; sa.bInheritHandle = ((NI32)1); T2_.len = 0; T2_.p = NIM_NIL; colontmpD_ = dollar___systemZdollars_3(hash); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T2_ = rawNewString(colontmpD_.len + 15); appendString((&T2_), TM__HZdw8BhppcTQo8DIK46LSg_9); appendString((&T2_), colontmpD_); colontmpD__2 = T2_; pipeOutName = newWideCString__stdZwidestrs_287(colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T3_.len = 0; T3_.p = NIM_NIL; colontmpD__3 = dollar___systemZdollars_3(hash); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T3_ = rawNewString(colontmpD__3.len + 14); appendString((&T3_), TM__HZdw8BhppcTQo8DIK46LSg_11); appendString((&T3_), colontmpD__3); colontmpD__4 = T3_; pipeInName = newWideCString__stdZwidestrs_287(colontmpD__4); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T4_ = (NI16*)0; T4_ = toWideCString__stdZwidestrs_41(pipeOutName); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; pipeOut = Dl_1442840701_(T4_, ((NI32)-2147483647), ((NI32)1), ((NI32)1), ((NI32)1024), ((NI32)1024), ((NI32)0), (&sa)); { NI32 T9_; if (!(pipeOut == ((NI)-1))) goto LA7_; T9_ = (NI32)0; T9_ = osLastError__stdZoserrors_89(); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; raiseOSError__stdZoserrors_86(T9_, TM__HZdw8BhppcTQo8DIK46LSg_12); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA7_: ; T10_ = (NI16*)0; T10_ = toWideCString__stdZwidestrs_41(pipeInName); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; pipeIn = Dl_1442840701_(T10_, ((NI32)-2147483646), ((NI32)1), ((NI32)1), ((NI32)1024), ((NI32)1024), ((NI32)0), (&sa)); { NI32 T15_; if (!(pipeIn == ((NI)-1))) goto LA13_; T15_ = (NI32)0; T15_ = osLastError__stdZoserrors_89(); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; raiseOSError__stdZoserrors_86(T15_, TM__HZdw8BhppcTQo8DIK46LSg_13); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA13_: ; T16_ = (NI16*)0; T16_ = toWideCString__stdZwidestrs_41(pipeOutName); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; (*si).hStdOutput = Dl_1442841180_(T16_, ((NI32)1048578), ((NI32)0), ((void*) ((&sa))), ((NI32)3), ((NI32)128), ((NI)0)); { NI32 T21_; if (!((*si).hStdOutput == ((NI)-1))) goto LA19_; T21_ = (NI32)0; T21_ = osLastError__stdZoserrors_89(); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; raiseOSError__stdZoserrors_86(T21_, TM__HZdw8BhppcTQo8DIK46LSg_14); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA19_: ; T22_ = (NI)0; T22_ = myDup__pureZosproc_747((*si).hStdOutput, ((NI32)1)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; (*si).hStdError = T22_; T23_ = (NI16*)0; T23_ = toWideCString__stdZwidestrs_41(pipeInName); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; (*si).hStdInput = Dl_1442841180_(T23_, ((NI32)1048577), ((NI32)0), ((void*) ((&sa))), ((NI32)3), ((NI32)128), ((NI)0)); { NI32 T28_; if (!((*si).hStdInput == ((NI)-1))) goto LA26_; T28_ = (NI32)0; T28_ = osLastError__stdZoserrors_89(); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; raiseOSError__stdZoserrors_86(T28_, TM__HZdw8BhppcTQo8DIK46LSg_16); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA26_: ; T29_ = (NI)0; T29_ = myDup__pureZosproc_747(pipeIn, ((NI32)0)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; (*stdin_0) = T29_; T30_ = (NI)0; T30_ = myDup__pureZosproc_747(pipeOut, ((NI32)0)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; (*stdout_0) = T30_; closeHandleCheck__pureZosproc_636(pipeIn); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; closeHandleCheck__pureZosproc_636(pipeOut); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; (*stderr_0) = (*stdout_0); { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___stdZassertions_13((&colontmpD__4)); eqdestroy___stdZassertions_13((&colontmpD__3)); eqdestroy___stdZwidestrs_6((&pipeInName)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___stdZassertions_13((&colontmpD__2)); eqdestroy___stdZassertions_13((&colontmpD_)); eqdestroy___stdZwidestrs_6((&pipeOutName)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } static N_INLINE(NCSTRING, nimToCStringConv)(NimStringV2 s) { NCSTRING result; result = (NCSTRING)0; { if (!(s.len == ((NI)0))) goto LA3_; result = ""; } goto LA1_; LA3_: ; { result = ((NCSTRING) ((*s.p).data)); } LA1_: ; return result; } static N_INLINE(void, nimAddCharV1)(NimStringV2* s, NIM_CHAR c) { prepareAdd(s, ((NI)1)); (*(*s).p).data[(*s).len] = c; (*(*s).p).data[(NI)((*s).len + ((NI)1))] = 0; (*s).len += ((NI)1); } N_LIB_PRIVATE N_NIMCALL(NimStringV2, buildCommandLine__pureZosproc_701)(NimStringV2 a, NimStringV2* args, NI argsLen_0) { NimStringV2 result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result.len = 0; result.p = NIM_NIL; result = nospquoteShell(a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { NI i; NI colontmp_; NI res; i = (NI)0; colontmp_ = (NI)0; colontmp_ = (argsLen_0-1); res = ((NI)0); { while (1) { NimStringV2 colontmpD_; if (!(res <= colontmp_)) goto LA3 ; colontmpD_.len = 0; colontmpD_.p = NIM_NIL; i = res; nimAddCharV1((&result), 32); colontmpD_ = nospquoteShell(args[i]); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; prepareAdd((&result), colontmpD_.len + 0); appendString((&result), colontmpD_); res += ((NI)1); eqdestroy___stdZassertions_13((&colontmpD_)); } LA3: ; } } }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyTuple__0hEbbYmlam6yzyW5MFo9cjg, buildEnv__pureZosproc_713)(tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* env) { tyTuple__0hEbbYmlam6yzyW5MFo9cjg result; NI L; NCSTRING str; void* T10_; nimZeroMem((void*)(&result), sizeof(tyTuple__0hEbbYmlam6yzyW5MFo9cjg)); L = ((NI)0); { NimStringV2 key; NimStringV2 val; key.len = 0; key.p = NIM_NIL; val.len = 0; val.p = NIM_NIL; { NI h; NI colontmp_; NI T3_; NI res; h = (NI)0; colontmp_ = (NI)0; T3_ = ((*env).data.len-1); colontmp_ = T3_; res = ((NI)0); { while (1) { if (!(res <= colontmp_)) goto LA5 ; h = res; { if (!(*env).data.p->data[h].Field2) goto LA8_; eqcopy___stdZassertions_16((&key), (*env).data.p->data[h].Field0); eqcopy___stdZassertions_16((&val), (*env).data.p->data[h].Field1); L += (NI)((NI)(key.len + val.len) + ((NI)2)); } LA8_: ; res += ((NI)1); } LA5: ; } } eqdestroy___stdZassertions_13((&val)); eqdestroy___stdZassertions_13((&key)); } T10_ = (void*)0; T10_ = alloc0Impl__system_1737(((NI) ((NI)(L + ((NI)2))))); str = ((NCSTRING) (T10_)); L = ((NI)0); { NimStringV2 key_2; NimStringV2 val_2; key_2.len = 0; key_2.p = NIM_NIL; val_2.len = 0; val_2.p = NIM_NIL; { NI h_2; NI colontmp__2; NI T13_; NI res_2; h_2 = (NI)0; colontmp__2 = (NI)0; T13_ = ((*env).data.len-1); colontmp__2 = T13_; res_2 = ((NI)0); { while (1) { if (!(res_2 <= colontmp__2)) goto LA15 ; h_2 = res_2; { NimStringV2 x; NimStringV2 T20_; if (!(*env).data.p->data[h_2].Field2) goto LA18_; x.len = 0; x.p = NIM_NIL; eqcopy___stdZassertions_16((&key_2), (*env).data.p->data[h_2].Field0); eqcopy___stdZassertions_16((&val_2), (*env).data.p->data[h_2].Field1); T20_.len = 0; T20_.p = NIM_NIL; T20_ = rawNewString(key_2.len + val_2.len + 1); appendString((&T20_), key_2); appendString((&T20_), TM__HZdw8BhppcTQo8DIK46LSg_20); appendString((&T20_), val_2); x = T20_; copyMem__system_1719(((void*) ((&str[L]))), ((void*) (nimToCStringConv(x))), ((NI) ((NI)(x.len + ((NI)1))))); L += (NI)(x.len + ((NI)1)); eqdestroy___stdZassertions_13((&x)); } LA18_: ; res_2 += ((NI)1); } LA15: ; } } eqdestroy___stdZassertions_13((&val_2)); eqdestroy___stdZassertions_13((&key_2)); } result.Field0 = str; result.Field1 = L; return result; } static N_INLINE(void, fileClose__pureZosproc_643)(NI* h) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); { if (!(((NI)4) < (*h))) goto LA3_; closeHandleCheck__pureZosproc_636((*h)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; (*h) = ((NI)-1); } LA3_: ; }BeforeRet_: ; } static N_INLINE(NIM_BOOL, eqeq___system_7539)(NCSTRING x, NCSTRING y) { NIM_BOOL result; result = (NIM_BOOL)0; { if (!(((void*) (x)) == ((void*) (y)))) goto LA3_; result = NIM_TRUE; } goto LA1_; LA3_: ; { NIM_BOOL T6_; T6_ = (NIM_BOOL)0; T6_ = (x == 0); if (T6_) goto LA7_; T6_ = (y == 0); LA7_: ; if (!T6_) goto LA8_; result = NIM_FALSE; } goto LA1_; LA8_: ; { int T11_; T11_ = (int)0; T11_ = strcmp(x, y); result = (T11_ == ((NI32)0)); } LA1_: ; return result; } static N_INLINE(void, fileClose__pureZosproc_929)(int* h) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); { if (!(((NI32)4) < (*h))) goto LA3_; closeHandleCheck__pureZosproc_636(((NI) ((*h)))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; (*h) = ((int)-1); } LA3_: ; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, closeThreadAndProcessHandle__pureZosproc_917)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); { if (!!(((*p).fThreadHandle == ((NI)0)))) goto LA3_; closeHandleCheck__pureZosproc_636((*p).fThreadHandle); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; (*p).fThreadHandle = ((NI)0); } LA3_: ; { if (!!(((*p).fProcessHandle == ((NI)0)))) goto LA7_; closeHandleCheck__pureZosproc_636((*p).fProcessHandle); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; (*p).fProcessHandle = ((NI)0); } LA7_: ; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, nospclose)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); { if (!!((((*p).options &((NU8)1<<((NU)((((tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA)4)))&7U)))!=0))) goto LA3_; { if (!((*p).inStream == ((tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ*) NIM_NIL))) goto LA7_; fileClose__pureZosproc_929((&(*p).inHandle)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } goto LA5_; LA7_: ; { close__pureZstreams_58((*p).inStream); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA5_: ; { if (!!(((*p).outHandle == (*p).errHandle))) goto LA12_; fileClose__pureZosproc_929((&(*p).errHandle)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA12_: ; fileClose__pureZosproc_929((&(*p).outHandle)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA3_: ; closeThreadAndProcessHandle__pureZosproc_917(p); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg*, nospstartProcess)(NimStringV2 command, NimStringV2 workingDir, NimStringV2* args, NI argsLen_0, tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* env, tySet_tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA options) { tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* result; NimStringV2 cmdRoot; tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A tmp; tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A ee; tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A wwd; tyObject_STARTUPINFO__WGlpKvY9cdd69bAwMQMNLYoQ si; tyObject_PROCESS_INFORMATION__rpgAdaffN9b79bo2kEQiFsMg procInfo; NI success; NI hi; NI ho; NI he; NCSTRING cmdl; NCSTRING wd; tyTuple__0hEbbYmlam6yzyW5MFo9cjg e; tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A T56_; NI32 flags; NI16* T66_; NI16* T67_; NI16* T68_; NI32 T69_; NI32 lastError; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = NIM_NIL; cmdRoot.len = 0; cmdRoot.p = NIM_NIL; nimZeroMem((void*)(&tmp), sizeof(tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A)); nimZeroMem((void*)(&ee), sizeof(tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A)); nimZeroMem((void*)(&wwd), sizeof(tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A)); nimZeroMem((void*)(&si), sizeof(tyObject_STARTUPINFO__WGlpKvY9cdd69bAwMQMNLYoQ)); nimZeroMem((void*)(&procInfo), sizeof(tyObject_PROCESS_INFORMATION__rpgAdaffN9b79bo2kEQiFsMg)); success = (NI)0; hi = (NI)0; ho = (NI)0; he = (NI)0; eqdestroy___pureZosproc_206(&result); result = (tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg*) nimNewObj(sizeof(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg), NIM_ALIGNOF(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg)); (*result).Sup.m_type = (&NTIv2__2rGNQnv9bU4hanI2g3svReg_); (*result).options = options; (*result).exitFlag = NIM_TRUE; si.cb = ((int)68); { if (!!(((options &((NU8)1<<((NU)((((tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA)4)))&7U)))!=0))) goto LA4_; si.dwFlags = ((NI32)256); { if (!!(((options &((NU8)1<<((NU)((((tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA)5)))&7U)))!=0))) goto LA8_; createPipeHandles__pureZosproc_787((&si.hStdInput), (&hi)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; createPipeHandles__pureZosproc_787((&ho), (&si.hStdOutput)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!((options &((NU8)1<<((NU)((((tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA)3)))&7U)))!=0)) goto LA12_; si.hStdError = si.hStdOutput; he = ho; } goto LA10_; LA12_: ; { createPipeHandles__pureZosproc_787((&he), (&si.hStdError)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { NI32 T17_; NI32 T20_; T17_ = (NI32)0; T17_ = Dl_1442841175_(he, ((NI32)1), ((NI32)0)); if (!(T17_ == ((NI32)0))) goto LA18_; T20_ = (NI32)0; T20_ = osLastError__stdZoserrors_89(); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; raiseOSError__stdZoserrors_86(T20_, TM__HZdw8BhppcTQo8DIK46LSg_5); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA18_: ; } LA10_: ; { NI32 T23_; NI32 T26_; T23_ = (NI32)0; T23_ = Dl_1442841175_(hi, ((NI32)1), ((NI32)0)); if (!(T23_ == ((NI32)0))) goto LA24_; T26_ = (NI32)0; T26_ = osLastError__stdZoserrors_89(); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; raiseOSError__stdZoserrors_86(T26_, TM__HZdw8BhppcTQo8DIK46LSg_6); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA24_: ; { NI32 T29_; NI32 T32_; T29_ = (NI32)0; T29_ = Dl_1442841175_(ho, ((NI32)1), ((NI32)0)); if (!(T29_ == ((NI32)0))) goto LA30_; T32_ = (NI32)0; T32_ = osLastError__stdZoserrors_89(); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; raiseOSError__stdZoserrors_86(T32_, TM__HZdw8BhppcTQo8DIK46LSg_7); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA30_: ; } goto LA6_; LA8_: ; { createAllPipeHandles__pureZosproc_752((&si), (&hi), (&ho), (&he), ((NI) (result))); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA6_: ; (*result).inHandle = ((int) (hi)); (*result).outHandle = ((int) (ho)); (*result).errHandle = ((int) (he)); } goto LA2_; LA4_: ; { si.hStdError = Dl_1442840741_(((NI32)-12)); si.hStdInput = Dl_1442840741_(((NI32)-10)); si.hStdOutput = Dl_1442840741_(((NI32)-11)); (*result).inHandle = ((int) (si.hStdInput)); (*result).outHandle = ((int) (si.hStdOutput)); (*result).errHandle = ((int) (si.hStdError)); } LA2_: ; cmdl = (NCSTRING)0; { if (!((options &((NU8)1<<((NU)((((tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA)2)))&7U)))!=0)) goto LA37_; cmdl = nimToCStringConv(command); } goto LA35_; LA37_: ; { cmdRoot = buildCommandLine__pureZosproc_701(command, args, argsLen_0); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; cmdl = nimToCStringConv(cmdRoot); } LA35_: ; wd = ((NCSTRING) NIM_NIL); e = TM__HZdw8BhppcTQo8DIK46LSg_18; { if (!(((NI)0) < workingDir.len)) goto LA42_; wd = nimToCStringConv(workingDir); } LA42_: ; { if (!!((env == ((tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg*) NIM_NIL)))) goto LA46_; e = buildEnv__pureZosproc_713(env); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA46_: ; { NimStringV2 colontmpD_; tyArray__nHXaesL0DJZHyVS07ARPRA T53_; if (!((options &((NU8)1<<((NU)((((tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA)0)))&7U)))!=0)) goto LA50_; colontmpD_.len = 0; colontmpD_.p = NIM_NIL; colontmpD_ = cstrToNimstr(cmdl); T53_[0] = colontmpD_; echoBinSafe(T53_, 1); { LA52_:; } { eqdestroy___stdZassertions_13((&colontmpD_)); } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA50_: ; tmp = newWideCString__stdZwidestrs_281(cmdl); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!(e.Field0 == 0)) goto LA59_; ee = newWideCString__stdZwidestrs_281(((NCSTRING) NIM_NIL)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA57_; LA59_: ; { ee = newWideCString__stdZwidestrs_260(e.Field0, e.Field1); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA57_: ; wwd = newWideCString__stdZwidestrs_281(wd); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; flags = ((NI32)1056); { if (!((options &((NU8)1<<((NU)((((tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA)6)))&7U)))!=0)) goto LA64_; flags = (NI32)(flags | ((NI32)134217728)); } LA64_: ; T66_ = (NI16*)0; T66_ = toWideCString__stdZwidestrs_41(tmp); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T67_ = (NI16*)0; T67_ = toWideCString__stdZwidestrs_41(ee); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T68_ = (NI16*)0; T68_ = toWideCString__stdZwidestrs_41(wwd); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T69_ = (NI32)0; T69_ = Dl_1442840717_(((NI16*) NIM_NIL), T66_, ((tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw*) NIM_NIL), ((tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw*) NIM_NIL), ((NI32)1), flags, T67_, T68_, (&si), (&procInfo)); success = ((NI) (T69_)); lastError = osLastError__stdZoserrors_89(); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!!(((options &((NU8)1<<((NU)((((tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA)4)))&7U)))!=0))) goto LA72_; fileClose__pureZosproc_643((&si.hStdInput)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; fileClose__pureZosproc_643((&si.hStdOutput)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!!(((options &((NU8)1<<((NU)((((tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA)3)))&7U)))!=0))) goto LA76_; fileClose__pureZosproc_643((&si.hStdError)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA76_: ; } LA72_: ; { NIM_BOOL T80_; T80_ = (NIM_BOOL)0; T80_ = eqeq___system_7539(e.Field0, ((NCSTRING) NIM_NIL)); if (!!(T80_)) goto LA81_; dealloc(((void*) (e.Field0))); } LA81_: ; { if (!(success == ((NI)0))) goto LA85_; { if (!(((*result).options &((NU8)1<<((NU)((((tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA)5)))&7U)))!=0)) goto LA89_; nospclose(result); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA89_: ; { NimStringV2 colontmpD__2; NimStringV2 colontmpD__3; if (!(((NI) (lastError)) == ((NI)87) || ((NI) (lastError)) == ((NI)2))) goto LA93_; colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL; colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL; colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL; eqcopy___stdZassertions_16((&colontmpD__2), command); colontmpD__3 = nsuFormatSingleElem(TM__HZdw8BhppcTQo8DIK46LSg_22, colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto LA95_; raiseOSError__stdZoserrors_86(lastError, colontmpD__3); if (NIM_UNLIKELY(*nimErr_)) goto LA95_; { LA95_:; } { eqdestroy___stdZassertions_13((&colontmpD__3)); } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA91_; LA93_: ; { raiseOSError__stdZoserrors_86(lastError, command); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA91_: ; } LA85_: ; (*result).fProcessHandle = procInfo.hProcess; (*result).fThreadHandle = procInfo.hThread; (*result).id = ((NI) (procInfo.dwProcessId)); (*result).exitFlag = NIM_FALSE; { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___stdZwidestrs_6((&wwd)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___stdZwidestrs_6((&ee)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___stdZwidestrs_6((&tmp)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___stdZassertions_13((&cmdRoot)); *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZosproc_646)(tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ** dest) { { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = nimDecRefIsLastCyclicDyn((*dest)); if (!T3_) goto LA4_; nimDestroyAndDispose((*dest)); } LA4_: ; } N_LIB_PRIVATE N_NIMCALL(void, hsClose__pureZosproc_641)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); fileClose__pureZosproc_643((&(*((tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ*) (s))).handle)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hsAtEnd__pureZosproc_677)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s) { NIM_BOOL result; { result = (NIM_BOOL)0; result = (*((tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ*) (s))).atTheEnd; goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NI, hsReadData__pureZosproc_680)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, void* buffer, NI bufLen) { NI result; tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ* s_2; NI32 br; NI32 a; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; s_2 = NIM_NIL; s_2 = ((tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ*) (s)); { if (!(*s_2).atTheEnd) goto LA3_; result = ((NI)0); goto BeforeRet_; } LA3_: ; br = (NI32)0; a = Dl_1442840684_((*s_2).handle, buffer, ((int) (bufLen)), (&br), NIM_NIL); { NIM_BOOL T7_; NI32 T11_; T7_ = (NIM_BOOL)0; T7_ = (a == ((NI32)0)); if (!(T7_)) goto LA8_; T7_ = !((br == ((NI32)0))); LA8_: ; if (!T7_) goto LA9_; T11_ = (NI32)0; T11_ = osLastError__stdZoserrors_89(); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; raiseOSError__stdZoserrors_86(T11_, TM__HZdw8BhppcTQo8DIK46LSg_24); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA9_: ; (*s_2).atTheEnd = (br == ((NI32)0)); result = ((NI) (br)); }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, hsWriteData__pureZosproc_688)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, void* buffer, NI bufLen) { tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ* s_2; NI32 bytesWritten; NI32 a; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); s_2 = NIM_NIL; s_2 = ((tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ*) (s)); bytesWritten = (NI32)0; a = Dl_1442840690_((*s_2).handle, buffer, ((int) (bufLen)), (&bytesWritten), NIM_NIL); { NI32 T5_; if (!(a == ((NI32)0))) goto LA3_; T5_ = (NI32)0; T5_ = osLastError__stdZoserrors_89(); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; raiseOSError__stdZoserrors_86(T5_, TM__HZdw8BhppcTQo8DIK46LSg_25); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA3_: ; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ*, newFileHandleStream__pureZosproc_695)(NI handle) { tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ* result; result = NIM_NIL; eqdestroy___pureZosproc_646(&result); result = (tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ*) nimNewObj(sizeof(tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ), NIM_ALIGNOF(tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ)); (*result).Sup.Sup.m_type = (&NTIv2__Uwf6VGZy4JPKquxCiOCalQ_); (*result).handle = handle; (*result).Sup.closeImpl = hsClose__pureZosproc_641; (*result).Sup.atEndImpl = hsAtEnd__pureZosproc_677; (*result).Sup.readDataImpl = hsReadData__pureZosproc_680; (*result).Sup.writeDataImpl = hsWriteData__pureZosproc_688; return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ*, nospinputStream)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p) { tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = NIM_NIL; { tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ* T5_; if (!((*p).inStream == ((tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ*) NIM_NIL))) goto LA3_; T5_ = NIM_NIL; T5_ = newFileHandleStream__pureZosproc_695(((NI) ((*p).inHandle))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqsink___pureZstreams_620(&(*p).inStream, &T5_->Sup); } LA3_: ; eqcopy___pureZstreams_616(&result, (*p).inStream, NIM_FALSE); }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ*, nospoutputStream)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p) { tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = NIM_NIL; { tyObject_FileHandleStreamcolonObjectType___Uwf6VGZy4JPKquxCiOCalQ* T5_; if (!((*p).outStream == ((tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ*) NIM_NIL))) goto LA3_; T5_ = NIM_NIL; T5_ = newFileHandleStream__pureZosproc_695(((NI) ((*p).outHandle))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqsink___pureZstreams_620(&(*p).outStream, &T5_->Sup); } LA3_: ; eqcopy___pureZstreams_616(&result, (*p).outStream, NIM_FALSE); }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosprunning)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p) { NIM_BOOL result; { result = (NIM_BOOL)0; { if (!(*p).exitFlag) goto LA3_; result = NIM_FALSE; goto BeforeRet_; } goto LA1_; LA3_: ; { NI32 x; x = Dl_1442840732_((*p).fProcessHandle, ((NI32)0)); result = (x == ((NI32)258)); goto BeforeRet_; } LA1_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, nospterminate)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); { NIM_BOOL T3_; NI32 T6_; T3_ = (NIM_BOOL)0; T3_ = nosprunning(p); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!T3_) goto LA4_; T6_ = (NI32)0; T6_ = Dl_1442840735_((*p).fProcessHandle, ((NI)0)); (void)(T6_); } LA4_: ; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(NI, nospwaitForExit)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p, NI timeout) { NI result; NI32 res; NI32 status; NI32 T9_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; { if (!(*p).exitFlag) goto LA3_; result = ((NI) ((*p).exitStatus)); goto BeforeRet_; } LA3_: ; res = Dl_1442840732_((*p).fProcessHandle, ((NI32) (timeout))); { if (!(res == ((NI32)258))) goto LA7_; nospterminate(p); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA7_: ; status = (NI32)0; T9_ = (NI32)0; T9_ = Dl_1442840738_((*p).fProcessHandle, (&status)); (void)(T9_); { if (!!((status == ((NI32)259)))) goto LA12_; (*p).exitFlag = NIM_TRUE; (*p).exitStatus = status; closeThreadAndProcessHandle__pureZosproc_917(p); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; result = ((NI) (status)); } goto LA10_; LA12_: ; { result = ((NI)-1); } LA10_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZosproc_1482)(tyTuple__XOVT24GHXwqiEj5GCsEGCA* dest) { eqdestroy___stdZassertions_13((&(*dest).Field0)); } N_LIB_PRIVATE N_NIMCALL(NI, nosppeekExitCode)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p) { NI result; NIM_BOOL b; NI32 T5_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; { if (!(*p).exitFlag) goto LA3_; result = ((NI) ((*p).exitStatus)); goto BeforeRet_; } LA3_: ; result = ((NI)-1); T5_ = (NI32)0; T5_ = Dl_1442840732_((*p).fProcessHandle, ((NI32)0)); b = (T5_ == ((NI32)258)); { NI32 status; NI32 T10_; if (!!(b)) goto LA8_; status = (NI32)0; T10_ = (NI32)0; T10_ = Dl_1442840738_((*p).fProcessHandle, (&status)); (void)(T10_); (*p).exitFlag = NIM_TRUE; (*p).exitStatus = status; closeThreadAndProcessHandle__pureZosproc_917(p); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; result = ((NI) (status)); } LA8_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyTuple__XOVT24GHXwqiEj5GCsEGCA, execCmdEx__pureZosproc_1441)(NimStringV2 command, tySet_tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA options, tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* env, NimStringV2 workingDir, NimStringV2 input) { tyTuple__XOVT24GHXwqiEj5GCsEGCA result; tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p; tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* outp; tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* colontmpD_; NimStringV2 colontmp_; NimStringV2 line; tyArray__8ZvwQIddfpj2THRVPsFzIQ T2_; NI colontmp__2; NimStringV2 blitTmp; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); nimZeroMem((void*)(&result), sizeof(tyTuple__XOVT24GHXwqiEj5GCsEGCA)); p = NIM_NIL; outp = NIM_NIL; colontmpD_ = NIM_NIL; colontmp_.len = 0; colontmp_.p = NIM_NIL; line.len = 0; line.p = NIM_NIL; p = nospstartProcess(command, workingDir, T2_, 0, env, (options | 4)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; outp = nospoutputStream(p); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* colontmpD__2; if (!(((NI)0) < input.len)) goto LA5_; colontmpD__2 = NIM_NIL; colontmpD__2 = nospinputStream(p); if (NIM_UNLIKELY(*nimErr_)) goto LA7_; write__pureZstreams_184(colontmpD__2, input); if (NIM_UNLIKELY(*nimErr_)) goto LA7_; { LA7_:; } { eqdestroy___pureZstreams_613(&colontmpD__2); } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA5_: ; colontmpD_ = nospinputStream(p); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; close__pureZstreams_58(colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; colontmp_ = TM__HZdw8BhppcTQo8DIK46LSg_26; colontmp__2 = ((NI)-1); blitTmp = colontmp_; colontmp_.len = 0; colontmp_.p = NIM_NIL; result.Field0 = blitTmp; result.Field1 = colontmp__2; line = rawNewString(((NI)120)); { while (1) { { NIM_BOOL T14_; T14_ = (NIM_BOOL)0; T14_ = readLine__pureZstreams_543(outp, (&line)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!T14_) goto LA15_; prepareAdd((&result.Field0), line.len + 0); appendString((&result.Field0), line); prepareAdd((&result.Field0), 1); appendString((&result.Field0), TM__HZdw8BhppcTQo8DIK46LSg_28); } goto LA12_; LA15_: ; { NI T18_; T18_ = (NI)0; T18_ = nosppeekExitCode(p); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; result.Field1 = T18_; { if (!!((result.Field1 == ((NI)-1)))) goto LA21_; goto LA10; } LA21_: ; } LA12_: ; } } LA10: ; nospclose(p); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { LA1_:; } { eqdestroy___stdZassertions_13((&line)); eqdestroy___stdZassertions_13((&colontmp_)); eqdestroy___pureZstreams_613(&colontmpD_); eqdestroy___pureZstreams_613(&outp); eqdestroy___pureZosproc_206(&p); } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NI, nospexecCmd)(NimStringV2 command) { NI result; tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A c; tyObject_STARTUPINFO__WGlpKvY9cdd69bAwMQMNLYoQ si; tyObject_PROCESS_INFORMATION__rpgAdaffN9b79bo2kEQiFsMg procInfo; NI process; NI32 L; NI32 res; NI16* T2_; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; nimZeroMem((void*)(&c), sizeof(tyObject_WideCStringObj__BwbUsAz4qeNPsD7q6SJ32A)); nimZeroMem((void*)(&si), sizeof(tyObject_STARTUPINFO__WGlpKvY9cdd69bAwMQMNLYoQ)); nimZeroMem((void*)(&procInfo), sizeof(tyObject_PROCESS_INFORMATION__rpgAdaffN9b79bo2kEQiFsMg)); process = (NI)0; L = (NI32)0; si.cb = ((int)68); si.hStdError = Dl_1442840741_(((NI32)-12)); si.hStdInput = Dl_1442840741_(((NI32)-10)); si.hStdOutput = Dl_1442840741_(((NI32)-11)); c = newWideCString__stdZwidestrs_287(command); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T2_ = (NI16*)0; T2_ = toWideCString__stdZwidestrs_41(c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; res = Dl_1442840717_(((NI16*) NIM_NIL), T2_, ((tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw*) NIM_NIL), ((tyObject_SECURITY_ATTRIBUTES__P4HW9ceaevTBZ5O3kGC8yyw*) NIM_NIL), ((NI32)0), ((NI32)32), ((NI16*) NIM_NIL), ((NI16*) NIM_NIL), (&si), (&procInfo)); { NI32 T7_; if (!(res == ((NI32)0))) goto LA5_; T7_ = (NI32)0; T7_ = osLastError__stdZoserrors_89(); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; raiseOSError__stdZoserrors_86(T7_, TM__HZdw8BhppcTQo8DIK46LSg_29); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA3_; LA5_: ; { NI32 T9_; NI32 T17_; process = procInfo.hProcess; T9_ = (NI32)0; T9_ = Dl_1442840682_(procInfo.hThread); (void)(T9_); { NI32 T12_; NI32 T15_; T12_ = (NI32)0; T12_ = Dl_1442840732_(process, ((NI32)-1)); if (!!((T12_ == ((NI32)-1)))) goto LA13_; T15_ = (NI32)0; T15_ = Dl_1442840738_(process, (&L)); (void)(T15_); result = ((NI) (L)); } goto LA10_; LA13_: ; { result = ((NI)-1); } LA10_: ; T17_ = (NI32)0; T17_ = Dl_1442840682_(process); (void)(T17_); } LA3_: ; { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___stdZwidestrs_6((&c)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, eqsink___pureZosproc_1488)(tyTuple__XOVT24GHXwqiEj5GCsEGCA* dest, tyTuple__XOVT24GHXwqiEj5GCsEGCA src) { if ((*dest).Field0.p != src.Field0.p) { eqdestroy___stdZassertions_13((&(*dest).Field0)); } (*dest).Field0.len = src.Field0.len; (*dest).Field0.p = src.Field0.p; (*dest).Field1 = src.Field1; } N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZosproc_559)(tyProc__SqRJqa5aOiKB4EuKlKh9asA* dest) { { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = nimDecRefIsLastCyclicDyn((*dest).ClE_0); if (!T3_) goto LA4_; nimDestroyAndDispose((*dest).ClE_0); } LA4_: ; } N_LIB_PRIVATE N_NIMCALL(NI, nospcountProcessors)(void) { NI result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; result = ncpicountProcessors(); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, eqsink___pureZosproc_213)(tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg** dest, tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* src) { tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* colontmp_; colontmp_ = (*dest); (*dest) = src; { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = nimDecRefIsLastCyclicDyn(colontmp_); if (!T3_) goto LA4_; nimDestroyAndDispose(colontmp_); } LA4_: ; } N_LIB_PRIVATE N_NIMCALL(NI, nospexecProcesses)(NimStringV2* cmds, NI cmdsLen_0, tySet_tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA options, NI n, tyProc__SqRJqa5aOiKB4EuKlKh9asA beforeRunEvent, tyProc__oudJckli4GdxAXLVzBBlAw afterRunEvent) { NI result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; { tySequence__PrBYolTs4TOSgE8v5oqDUQ q; tySequence__qwqHTkRvwhrRyENtudHQ7g idxs; NI i; tyArray__SLBTEB08vk46ttuRaTxAYw w; NI m; NI wcount; NI ecount; if (!(((NI)1) < n)) goto LA3_; q.len = 0; q.p = NIM_NIL; idxs.len = 0; idxs.p = NIM_NIL; i = ((NI)0); q = newSeq__pureZosproc_267(((NI) (n))); idxs = newSeq__pureZosproc_398(((NI) (n))); nimZeroMem((void*)w, sizeof(tyArray__SLBTEB08vk46ttuRaTxAYw)); m = ((((n <= ((NI)64)) ? n : ((NI)64)) <= cmdsLen_0) ? ((n <= ((NI)64)) ? n : ((NI)64)) : cmdsLen_0); wcount = m; { while (1) { tyArray__8ZvwQIddfpj2THRVPsFzIQ T12_; tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* T13_; if (!(i < m)) goto LA7 ; { if (!!((beforeRunEvent.ClP_0 == TM__HZdw8BhppcTQo8DIK46LSg_30.ClP_0 && beforeRunEvent.ClE_0 == TM__HZdw8BhppcTQo8DIK46LSg_30.ClE_0))) goto LA10_; beforeRunEvent.ClE_0? beforeRunEvent.ClP_0(i, beforeRunEvent.ClE_0):((TM__HZdw8BhppcTQo8DIK46LSg_31)(beforeRunEvent.ClP_0))(i); if (NIM_UNLIKELY(*nimErr_)) goto LA5_; } LA10_: ; T13_ = NIM_NIL; T13_ = nospstartProcess(cmds[i], TM__HZdw8BhppcTQo8DIK46LSg_32, T12_, 0, ((tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg*) NIM_NIL), (options | 4)); if (NIM_UNLIKELY(*nimErr_)) goto LA5_; eqsink___pureZosproc_213(&q.p->data[i], T13_); idxs.p->data[i] = i; w[(i)- 0] = (*q.p->data[i]).fProcessHandle; i += ((NI)1); } LA7: ; } ecount = cmdsLen_0; { while (1) { NI rexit; NI32 ret; if (!(((NI)0) < ecount)) goto LA15 ; rexit = ((NI)-1); ret = Dl_1442841126_(((NI32) (wcount)), w, ((NI32)0), ((NI32)-1)); { if (!(ret == ((NI32)258))) goto LA18_; } goto LA16_; LA18_: ; { NI32 T23_; if (!(ret == ((NI32)-1))) goto LA21_; T23_ = (NI32)0; T23_ = osLastError__stdZoserrors_89(); if (NIM_UNLIKELY(*nimErr_)) goto LA5_; raiseOSError__stdZoserrors_86(T23_, TM__HZdw8BhppcTQo8DIK46LSg_33); if (NIM_UNLIKELY(*nimErr_)) goto LA5_; } goto LA16_; LA21_: ; { NI32 status; status = (NI32)0; { NI r; NI colontmp_; NI res; r = (NI)0; colontmp_ = (NI)0; colontmp_ = (NI)(m - ((NI)1)); res = ((NI)0); { while (1) { if (!(res <= colontmp_)) goto LA27 ; r = res; { NIM_BOOL T30_; NI32 T34_; T30_ = (NIM_BOOL)0; T30_ = !((q.p->data[r] == 0)); if (!(T30_)) goto LA31_; T30_ = ((*q.p->data[r]).fProcessHandle == w[(ret)- 0]); LA31_: ; if (!T30_) goto LA32_; T34_ = (NI32)0; T34_ = Dl_1442840738_((*q.p->data[r]).fProcessHandle, (&status)); (void)(T34_); (*q.p->data[r]).exitFlag = NIM_TRUE; (*q.p->data[r]).exitStatus = status; rexit = r; goto LA25; } LA32_: ; res += ((NI)1); } LA27: ; } } LA25: ; } LA16_: ; { NI processHandle; NI T39_; if (!(((NI)0) <= rexit)) goto LA37_; processHandle = (*q.p->data[rexit]).fProcessHandle; T39_ = (NI)0; T39_ = nosppeekExitCode(q.p->data[rexit]); if (NIM_UNLIKELY(*nimErr_)) goto LA5_; result = ((result >= (T39_ > 0? (T39_) : -(T39_))) ? result : (T39_ > 0? (T39_) : -(T39_))); { if (!!((afterRunEvent.ClP_0 == TM__HZdw8BhppcTQo8DIK46LSg_34.ClP_0 && afterRunEvent.ClE_0 == TM__HZdw8BhppcTQo8DIK46LSg_34.ClE_0))) goto LA42_; afterRunEvent.ClE_0? afterRunEvent.ClP_0(idxs.p->data[rexit], q.p->data[rexit], afterRunEvent.ClE_0):((TM__HZdw8BhppcTQo8DIK46LSg_35)(afterRunEvent.ClP_0))(idxs.p->data[rexit], q.p->data[rexit]); if (NIM_UNLIKELY(*nimErr_)) goto LA5_; } LA42_: ; nospclose(q.p->data[rexit]); if (NIM_UNLIKELY(*nimErr_)) goto LA5_; { tyArray__8ZvwQIddfpj2THRVPsFzIQ T52_; tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* T53_; if (!(i < cmdsLen_0)) goto LA46_; { if (!!((beforeRunEvent.ClP_0 == TM__HZdw8BhppcTQo8DIK46LSg_30.ClP_0 && beforeRunEvent.ClE_0 == TM__HZdw8BhppcTQo8DIK46LSg_30.ClE_0))) goto LA50_; beforeRunEvent.ClE_0? beforeRunEvent.ClP_0(i, beforeRunEvent.ClE_0):((TM__HZdw8BhppcTQo8DIK46LSg_36)(beforeRunEvent.ClP_0))(i); if (NIM_UNLIKELY(*nimErr_)) goto LA5_; } LA50_: ; T53_ = NIM_NIL; T53_ = nospstartProcess(cmds[i], TM__HZdw8BhppcTQo8DIK46LSg_37, T52_, 0, ((tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg*) NIM_NIL), (options | 4)); if (NIM_UNLIKELY(*nimErr_)) goto LA5_; eqsink___pureZosproc_213(&q.p->data[rexit], T53_); idxs.p->data[rexit] = i; w[(rexit)- 0] = (*q.p->data[rexit]).fProcessHandle; i += ((NI)1); } goto LA44_; LA46_: ; { { NI k; NI colontmp__2; NI res_2; k = (NI)0; colontmp__2 = (NI)0; colontmp__2 = (NI)(wcount - ((NI)1)); res_2 = ((NI)0); { while (1) { if (!(res_2 <= colontmp__2)) goto LA57 ; k = res_2; { if (!(w[(k)- 0] == processHandle)) goto LA60_; w[(k)- 0] = w[((NI)(wcount - ((NI)1)))- 0]; w[((NI)(wcount - ((NI)1)))- 0] = ((NI)0); wcount -= ((NI)1); goto LA55; } LA60_: ; res_2 += ((NI)1); } LA57: ; } } LA55: ; eqsink___pureZosproc_213(&q.p->data[rexit], ((tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg*) NIM_NIL)); } LA44_: ; ecount -= ((NI)1); } LA37_: ; } LA15: ; } { LA5_:; } { eqdestroy___pureZosproc_406((&idxs)); eqdestroy___pureZosproc_275((&q)); } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } goto LA1_; LA3_: ; { { NI i_2; NI colontmp__3; NI res_3; i_2 = (NI)0; colontmp__3 = (NI)0; colontmp__3 = (cmdsLen_0-1); res_3 = ((NI)0); { while (1) { tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg* p; tyArray__8ZvwQIddfpj2THRVPsFzIQ T73_; NI T74_; if (!(res_3 <= colontmp__3)) goto LA67 ; p = NIM_NIL; i_2 = res_3; { if (!!((beforeRunEvent.ClP_0 == TM__HZdw8BhppcTQo8DIK46LSg_30.ClP_0 && beforeRunEvent.ClE_0 == TM__HZdw8BhppcTQo8DIK46LSg_30.ClE_0))) goto LA71_; beforeRunEvent.ClE_0? beforeRunEvent.ClP_0(i_2, beforeRunEvent.ClE_0):((TM__HZdw8BhppcTQo8DIK46LSg_38)(beforeRunEvent.ClP_0))(i_2); if (NIM_UNLIKELY(*nimErr_)) goto LA68_; } LA71_: ; p = nospstartProcess(cmds[i_2], TM__HZdw8BhppcTQo8DIK46LSg_39, T73_, 0, ((tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg*) NIM_NIL), (options | 4)); if (NIM_UNLIKELY(*nimErr_)) goto LA68_; T74_ = (NI)0; T74_ = nospwaitForExit(p, ((NI)-1)); if (NIM_UNLIKELY(*nimErr_)) goto LA68_; result = (((T74_ > 0? (T74_) : -(T74_)) >= result) ? (T74_ > 0? (T74_) : -(T74_)) : result); { if (!!((afterRunEvent.ClP_0 == TM__HZdw8BhppcTQo8DIK46LSg_34.ClP_0 && afterRunEvent.ClE_0 == TM__HZdw8BhppcTQo8DIK46LSg_34.ClE_0))) goto LA77_; afterRunEvent.ClE_0? afterRunEvent.ClP_0(i_2, p, afterRunEvent.ClE_0):((TM__HZdw8BhppcTQo8DIK46LSg_40)(afterRunEvent.ClP_0))(i_2, p); if (NIM_UNLIKELY(*nimErr_)) goto LA68_; } LA77_: ; nospclose(p); if (NIM_UNLIKELY(*nimErr_)) goto LA68_; res_3 += ((NI)1); { LA68_:; } { eqdestroy___pureZosproc_206(&p); } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA67: ; } } } LA1_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZosproc_579)(tyProc__oudJckli4GdxAXLVzBBlAw* dest) { { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = nimDecRefIsLastCyclicDyn((*dest).ClE_0); if (!T3_) goto LA4_; nimDestroyAndDispose((*dest).ClE_0); } LA4_: ; }