/* Generated by Nim Compiler v0.16.0 */ /* (c) 2017 Andreas Rumpf */ /* The generated code is subject to the original license. */ #define NIM_INTBITS 32 #include "nimbase.h" #include #include #undef linux typedef struct NimStringDesc NimStringDesc; typedef struct TGenericSeq TGenericSeq; typedef struct Processobj_NHqciQYh8G1aN2n273mmYw Processobj_NHqciQYh8G1aN2n273mmYw; typedef struct Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw; typedef struct Startupinfo_WGlpKvY9cdd69bAwMQMNLYoQ Startupinfo_WGlpKvY9cdd69bAwMQMNLYoQ; typedef struct Processinformation_rpgAdaffN9b79bo2kEQiFsMg Processinformation_rpgAdaffN9b79bo2kEQiFsMg; typedef struct TNimObject TNimObject; typedef struct TNimType TNimType; typedef struct TNimNode TNimNode; typedef struct Securityattributes_P4HW9ceaevTBZ5O3kGC8yyw Securityattributes_P4HW9ceaevTBZ5O3kGC8yyw; typedef struct TY_0hEbbYmlam6yzyW5MFo9cjg TY_0hEbbYmlam6yzyW5MFo9cjg; typedef struct TY_4eQHGndY6XBYpFOH09apV8Q TY_4eQHGndY6XBYpFOH09apV8Q; typedef struct TY_UV3llMMYFckfui8YMBuUZA TY_UV3llMMYFckfui8YMBuUZA; typedef struct Streamobj_RShkcoDOPnoCVhtpN1hDPQ Streamobj_RShkcoDOPnoCVhtpN1hDPQ; typedef struct Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw; typedef struct TY_l0xXJxOLtcuhlSBHl64t5w TY_l0xXJxOLtcuhlSBHl64t5w; typedef struct Cell_1zcF9cV8XIAtbN8h5HRUB8g Cell_1zcF9cV8XIAtbN8h5HRUB8g; typedef struct Cellseq_Axo1XVm9aaQueTOldv8le5w Cellseq_Axo1XVm9aaQueTOldv8le5w; typedef struct Gcheap_1TRH1TZMaVZTnLNcIHuNFQ Gcheap_1TRH1TZMaVZTnLNcIHuNFQ; typedef struct Gcstack_7fytPA5bBsob6See21YMRA Gcstack_7fytPA5bBsob6See21YMRA; typedef struct Memregion_x81NhDv59b8ercDZ9bi85jyg Memregion_x81NhDv59b8ercDZ9bi85jyg; typedef struct Smallchunk_tXn60W2f8h3jgAYdEmy5NQ Smallchunk_tXn60W2f8h3jgAYdEmy5NQ; typedef struct Llchunk_XsENErzHIZV9bhvyJx56wGw Llchunk_XsENErzHIZV9bhvyJx56wGw; typedef struct Bigchunk_Rv9c70Uhp2TytkX7eH78qEg Bigchunk_Rv9c70Uhp2TytkX7eH78qEg; typedef struct Intset_EZObFrE3NC9bIb3YMkY9crZA Intset_EZObFrE3NC9bIb3YMkY9crZA; typedef struct Trunk_W0r8S0Y3UGke6T9bIUWnnuw Trunk_W0r8S0Y3UGke6T9bIUWnnuw; typedef struct Avlnode_IaqjtwKhxLEpvDS9bct9blEw Avlnode_IaqjtwKhxLEpvDS9bct9blEw; typedef struct Gcstat_0RwLoVBHZPfUAcLczmfQAg Gcstat_0RwLoVBHZPfUAcLczmfQAg; typedef struct Cellset_jG87P0AI9aZtss9ccTYBIISQ Cellset_jG87P0AI9aZtss9ccTYBIISQ; typedef struct Pagedesc_fublkgIY4LG3mT51LU2WHg Pagedesc_fublkgIY4LG3mT51LU2WHg; typedef struct Basechunk_Sdq7WpT6qAH858F5ZEdG3w Basechunk_Sdq7WpT6qAH858F5ZEdG3w; typedef struct Freecell_u6M5LHprqzkn9axr04yg9bGQ Freecell_u6M5LHprqzkn9axr04yg9bGQ; struct TGenericSeq { NI len; NI reserved; }; struct NimStringDesc { TGenericSeq Sup; NIM_CHAR data[SEQ_DECL_SIZE]; }; typedef NU8 TY_nmiMWKVIe46vacnhAFrQvw_Set[32]; typedef NU8 Processoption_bnU6W8LhTMnT4JaSWtGlSA_Set; struct 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 Processinformation_rpgAdaffN9b79bo2kEQiFsMg { NI hprocess; NI hthread; NI32 dwprocessid; NI32 dwthreadid; }; typedef NU8 Tnimkind_jIBKr1ejBgsfM33Kxw4j7A; typedef NU8 Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set; typedef N_NIMCALL_PTR(void, TY_ojoeKfW4VYIm36I9cpDTQIg) (void* p0, NI op0); typedef N_NIMCALL_PTR(void*, TY_WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p0); struct TNimType { NI size; Tnimkind_jIBKr1ejBgsfM33Kxw4j7A kind; Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set flags; TNimType* base; TNimNode* node; void* finalizer; TY_ojoeKfW4VYIm36I9cpDTQIg marker; TY_WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy; }; struct TNimObject { TNimType* m_type; }; struct Processobj_NHqciQYh8G1aN2n273mmYw { TNimObject Sup; NI fprocesshandle; int inhandle; int outhandle; int errhandle; NI id; int exitstatus; Processoption_bnU6W8LhTMnT4JaSWtGlSA_Set options; }; typedef NU8 Tnimnodekind_unfNsxrcATrufDZmpBq4HQ; struct TNimNode { Tnimnodekind_unfNsxrcATrufDZmpBq4HQ kind; NI offset; TNimType* typ; NCSTRING name; NI len; TNimNode** sons; }; typedef NU8 Processoption_bnU6W8LhTMnT4JaSWtGlSA; struct Securityattributes_P4HW9ceaevTBZ5O3kGC8yyw { NI32 nlength; void* lpsecuritydescriptor; NI32 binherithandle; }; typedef N_STDCALL_PTR(NI32, TY_C5kM33gEhlSKPXwfDNHofQ) (NI* hreadpipe0, NI* hwritepipe0, Securityattributes_P4HW9ceaevTBZ5O3kGC8yyw* lppipeattributes0, NI32 nsize0); typedef N_STDCALL_PTR(NI, TY_zbOhGDO3f3Asi0OF5kiN4w) (NI16* lpname0, NI32 dwopenmode0, NI32 dwpipemode0, NI32 nmaxinstances0, NI32 noutbuffersize0, NI32 ninbuffersize0, NI32 ndefaulttimeout0, Securityattributes_P4HW9ceaevTBZ5O3kGC8yyw* lpsecurityattributes0); typedef N_STDCALL_PTR(NI, TY_jZjaRJIBSgYA1p8iXwsy9cA) (NI16* lpfilename0, NI32 dwdesiredaccess0, NI32 dwsharemode0, void* lpsecurityattributes0, NI32 dwcreationdisposition0, NI32 dwflagsandattributes0, NI htemplatefile0); typedef N_STDCALL_PTR(NI, TY_uryidYWkntM7ddjZSyxvyQ) (void); typedef N_STDCALL_PTR(NI32, TY_oew1DfaGl5XhHmnBK0HYXQ) (NI hsourceprocesshandle0, NI hsourcehandle0, NI htargetprocesshandle0, NI* lptargethandle0, NI32 dwdesiredaccess0, NI32 binherithandle0, NI32 dwoptions0); typedef N_STDCALL_PTR(NI32, TY_P13srMBg9b3d3yEV9aW4NCoA) (NI hobject0); typedef N_STDCALL_PTR(NI, TY_zP2zGemcuVRvOUE82f9a0Pw) (NI32 nstdhandle0); struct TY_0hEbbYmlam6yzyW5MFo9cjg { NCSTRING Field0; NI Field1; }; typedef NU8 Stringtablemode_G9c4wVDFIzf0xHmQvxso9a9cQ; struct Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw { TNimObject Sup; NI counter; TY_4eQHGndY6XBYpFOH09apV8Q* data; Stringtablemode_G9c4wVDFIzf0xHmQvxso9a9cQ mode; }; struct TY_UV3llMMYFckfui8YMBuUZA { NimStringDesc* Field0; NimStringDesc* Field1; }; typedef N_STDCALL_PTR(NI32, TY_sZsab4827ISgT5SnxCijjg) (NI16* lpapplicationname0, NI16* lpcommandline0, Securityattributes_P4HW9ceaevTBZ5O3kGC8yyw* lpprocessattributes0, Securityattributes_P4HW9ceaevTBZ5O3kGC8yyw* lpthreadattributes0, NI32 binherithandles0, NI32 dwcreationflags0, NI16* lpenvironment0, NI16* lpcurrentdirectory0, Startupinfo_WGlpKvY9cdd69bAwMQMNLYoQ* lpstartupinfo0, Processinformation_rpgAdaffN9b79bo2kEQiFsMg* lpprocessinformation0); typedef N_NIMCALL_PTR(void, TY_cnkJEp9bna8U6yi9aVW9cAJ0Q) (Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0); typedef N_NIMCALL_PTR(NIM_BOOL, TY_KjFcmLOhf4VQvVcyLJWXZw) (Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0); typedef N_NIMCALL_PTR(void, TY_jlOYFw9cHausuCbPoWx2iiA) (Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0, NI pos0); typedef N_NIMCALL_PTR(NI, TY_Xzm85qBLb9cf9cu8VOfAr8PQ) (Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0); typedef N_NIMCALL_PTR(NI, TY_tjaJtoUzLe1BMUbItlcGhQ) (Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0, void* buffer0, NI buflen0); typedef N_NIMCALL_PTR(void, TY_b9bsIuILxTLVZHPvJBW187A) (Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0, void* buffer0, NI buflen0); struct Streamobj_RShkcoDOPnoCVhtpN1hDPQ { TNimObject Sup; TY_cnkJEp9bna8U6yi9aVW9cAJ0Q closeimpl; TY_KjFcmLOhf4VQvVcyLJWXZw atendimpl; TY_jlOYFw9cHausuCbPoWx2iiA setpositionimpl; TY_Xzm85qBLb9cf9cu8VOfAr8PQ getpositionimpl; TY_tjaJtoUzLe1BMUbItlcGhQ readdataimpl; TY_tjaJtoUzLe1BMUbItlcGhQ peekdataimpl; TY_b9bsIuILxTLVZHPvJBW187A writedataimpl; TY_cnkJEp9bna8U6yi9aVW9cAJ0Q flushimpl; }; struct Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw { Streamobj_RShkcoDOPnoCVhtpN1hDPQ Sup; NI handle; NIM_BOOL attheend; }; typedef N_STDCALL_PTR(NI32, TY_9ajZYMGL5GqiRFqiCC367oA) (NI hfile0, void* Buffer0, NI32 nnumberofbytestoread0, NI32* lpnumberofbytesread0, void* lpoverlapped0); typedef N_STDCALL_PTR(NI32, TY_FprzxJFfqQdWyyGxiUsmeQ) (NI hhandle0, NI32 dwmilliseconds0); typedef N_STDCALL_PTR(NI32, TY_KxeGXN001TReCr89ca9c5bng) (NI hprocess0, NI32* lpexitcode0); typedef struct { N_NIMCALL_PTR(void, ClPrc) (NI idx0, void* ClEnv); void* ClEnv; } TY_kElEuvYkhDcTHhB3d89aMYA; typedef struct { N_NIMCALL_PTR(void, ClPrc) (NI idx0, Processobj_NHqciQYh8G1aN2n273mmYw* p0, void* ClEnv); void* ClEnv; } TY_SfW5itioRNR8yop8fOJeNg; typedef N_CLOSURE_PTR(void, T_HZdw8BhppcTQo8DIK46LSg_17) (NI idx0); typedef NimStringDesc* TY_8ZvwQIddfpj2THRVPsFzIQ[1]; struct Cell_1zcF9cV8XIAtbN8h5HRUB8g { NI refcount; TNimType* typ; }; struct Cellseq_Axo1XVm9aaQueTOldv8le5w { NI len; NI cap; Cell_1zcF9cV8XIAtbN8h5HRUB8g** d; }; typedef Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* TY_SiRwrEKZdLgxqz9a9aoVBglg[512]; typedef Trunk_W0r8S0Y3UGke6T9bIUWnnuw* TY_lh2A89ahMmYg9bCmpVaplLbA[256]; struct Intset_EZObFrE3NC9bIb3YMkY9crZA { TY_lh2A89ahMmYg9bCmpVaplLbA data; }; struct Memregion_x81NhDv59b8ercDZ9bi85jyg { NI minlargeobj; NI maxlargeobj; TY_SiRwrEKZdLgxqz9a9aoVBglg freesmallchunks; Llchunk_XsENErzHIZV9bhvyJx56wGw* llmem; NI currmem; NI maxmem; NI freemem; NI lastsize; Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* freechunkslist; Intset_EZObFrE3NC9bIb3YMkY9crZA chunkstarts; Avlnode_IaqjtwKhxLEpvDS9bct9blEw* root; Avlnode_IaqjtwKhxLEpvDS9bct9blEw* deleted; Avlnode_IaqjtwKhxLEpvDS9bct9blEw* last; Avlnode_IaqjtwKhxLEpvDS9bct9blEw* freeavlnodes; NIM_BOOL locked; NIM_BOOL blockchunksizeincrease; NI nextchunksize; }; struct Gcstat_0RwLoVBHZPfUAcLczmfQAg { NI stackscans; NI cyclecollections; NI maxthreshold; NI maxstacksize; NI maxstackcells; NI cycletablesize; NI64 maxpause; }; struct Cellset_jG87P0AI9aZtss9ccTYBIISQ { NI counter; NI max; Pagedesc_fublkgIY4LG3mT51LU2WHg* head; Pagedesc_fublkgIY4LG3mT51LU2WHg** data; }; struct Gcheap_1TRH1TZMaVZTnLNcIHuNFQ { Gcstack_7fytPA5bBsob6See21YMRA* stack; void* stackbottom; NI cyclethreshold; Cellseq_Axo1XVm9aaQueTOldv8le5w zct; Cellseq_Axo1XVm9aaQueTOldv8le5w decstack; Cellseq_Axo1XVm9aaQueTOldv8le5w tempstack; NI recgclock; Memregion_x81NhDv59b8ercDZ9bi85jyg region; Gcstat_0RwLoVBHZPfUAcLczmfQAg stat; Cellset_jG87P0AI9aZtss9ccTYBIISQ marked; Cellseq_Axo1XVm9aaQueTOldv8le5w additionalroots; }; typedef N_CLOSURE_PTR(void, T_HZdw8BhppcTQo8DIK46LSg_19) (NI idx0, Processobj_NHqciQYh8G1aN2n273mmYw* p0); typedef N_CLOSURE_PTR(void, T_HZdw8BhppcTQo8DIK46LSg_20) (NI idx0); typedef N_CLOSURE_PTR(void, T_HZdw8BhppcTQo8DIK46LSg_21) (NI idx0, Processobj_NHqciQYh8G1aN2n273mmYw* p0); typedef N_CLOSURE_PTR(void, T_HZdw8BhppcTQo8DIK46LSg_22) (NI idx0); typedef N_CLOSURE_PTR(void, T_HZdw8BhppcTQo8DIK46LSg_23) (NI idx0, Processobj_NHqciQYh8G1aN2n273mmYw* p0); struct Gcstack_7fytPA5bBsob6See21YMRA { Gcstack_7fytPA5bBsob6See21YMRA* prev; Gcstack_7fytPA5bBsob6See21YMRA* next; void* starts; void* pos; NI maxstacksize; }; struct Basechunk_Sdq7WpT6qAH858F5ZEdG3w { NI prevsize; NI size; NIM_BOOL used; }; struct Smallchunk_tXn60W2f8h3jgAYdEmy5NQ { Basechunk_Sdq7WpT6qAH858F5ZEdG3w Sup; Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* next; Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* prev; Freecell_u6M5LHprqzkn9axr04yg9bGQ* freelist; NI free; NI acc; NF data; }; struct Llchunk_XsENErzHIZV9bhvyJx56wGw { NI size; NI acc; Llchunk_XsENErzHIZV9bhvyJx56wGw* next; }; struct Bigchunk_Rv9c70Uhp2TytkX7eH78qEg { Basechunk_Sdq7WpT6qAH858F5ZEdG3w Sup; Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* next; Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* prev; NI align; NF data; }; typedef NI TY_9agrCtWKhCnWWMJpKKugJag[16]; struct Trunk_W0r8S0Y3UGke6T9bIUWnnuw { Trunk_W0r8S0Y3UGke6T9bIUWnnuw* next; NI key; TY_9agrCtWKhCnWWMJpKKugJag bits; }; typedef Avlnode_IaqjtwKhxLEpvDS9bct9blEw* TY_0aOLqZchNi8nWtMTi8ND8w[2]; struct Avlnode_IaqjtwKhxLEpvDS9bct9blEw { TY_0aOLqZchNi8nWtMTi8ND8w link; NI key; NI upperbound; NI level; }; struct Pagedesc_fublkgIY4LG3mT51LU2WHg { Pagedesc_fublkgIY4LG3mT51LU2WHg* next; NI key; TY_9agrCtWKhCnWWMJpKKugJag bits; }; struct Freecell_u6M5LHprqzkn9axr04yg9bGQ { Freecell_u6M5LHprqzkn9axr04yg9bGQ* next; NI zerofield; }; struct TY_l0xXJxOLtcuhlSBHl64t5w { TGenericSeq Sup; Processobj_NHqciQYh8G1aN2n273mmYw* data[SEQ_DECL_SIZE]; }; struct TY_4eQHGndY6XBYpFOH09apV8Q { TGenericSeq Sup; TY_UV3llMMYFckfui8YMBuUZA data[SEQ_DECL_SIZE]; }; N_NIMCALL(NimStringDesc*, nospquoteShellWindows)(NimStringDesc* s0); N_NIMCALL(NIM_BOOL, contains_m1TSS3QwQPclQATuiRuVZg)(NimStringDesc* s0, TY_nmiMWKVIe46vacnhAFrQvw_Set chars0); N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src0); static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0); static N_INLINE(void, copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem)(void* dest0, void* source0, NI size0); N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest0, NI addlen0); N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s0, NIM_CHAR c0); N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s0, NI newlen0); static N_NIMCALL(void, Marker_TY_Ryg5db24dBRIzTUa2BQTPg)(void* p, NI op); N_NIMCALL(void*, newObj)(TNimType* typ0, NI size0); N_NIMCALL(void, createpipehandles_nS1R74hYO6jh9akpSRUPnIg)(NI* rdhandle0, NI* wrhandle0); N_NOINLINE(void, raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA)(NI32 errorcode0, NimStringDesc* additionalinfo0); N_NIMCALL(NI32, oslasterror_6wyvsbJUteIgEY9cC5BVJZQ)(void); N_NIMCALL(void, createallpipehandles_ZPmzXxZKeyBt0Wi9aJjf52Q)(Startupinfo_WGlpKvY9cdd69bAwMQMNLYoQ* si0, NI* stdin_dS1b8X9bn6dC2ZZEWgAQb5Q, NI* stdout_dMYgA6WVZinWKi8dINL9bBQ, NI* stderr_9b2E9b3wEAndYKpn06YaEfdw, NI hash0); N_NIMCALL(NI16*, newwidecstring_kxipuF9cNh6r2grKDcLjFuw)(NimStringDesc* s0); N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x0); N_NIMCALL(NimStringDesc*, rawNewString)(NI space0); N_NIMCALL(NI, mydup_BhmJ645pEpWayx9blkYZByQ)(NI h0, NI32 inherit0); N_NIMCALL(NCSTRING, buildcommandline_tA5mt9bJh8OMX1zGi2svnbw)(NimStringDesc* a0, NimStringDesc** args0, NI args0Len0); N_NIMCALL(NimStringDesc*, nospquoteShell)(NimStringDesc* s0); N_NOCONV(void*, alloc0_4cubgSerkjpuLcj5MXjiLw)(NI size0); N_NIMCALL(TY_0hEbbYmlam6yzyW5MFo9cjg, buildenv_6JVbkmernZV2xMcrspjFVw)(Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw* env0); N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str0); N_NIMCALL(NI16*, newwidecstring_NuXSaDWgkbvz3UCBEjgeFQ)(NCSTRING s0); N_NIMCALL(NI16*, newwidecstring_b3CORJA07cGvZB3j3M3bqQ)(NCSTRING source0, NI L0); static N_INLINE(void, fileclose_s9aNEcfRNr6spr6kxfw4GLAosproc)(NI h0); static N_INLINE(NIM_BOOL, HEX3DHEX3D_9ccNWqrTIE9bcAqE2Q0ro7zgos)(NCSTRING x0, NCSTRING y0); N_NOCONV(void, dealloc_RCjNtRnHdRYntrcE7YtwWw)(void* p0); N_NIMCALL(void, nospclose)(Processobj_NHqciQYh8G1aN2n273mmYw* p0); N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr0, NimStringDesc* a0); N_NIMCALL(Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw*, newfilehandlestream_FY9bg8cqHQ3304H4lX7tZjQ)(NI handle0); static N_NIMCALL(void, Marker_TY_809biO2nZKLCCWaUdwxpJnw)(void* p, NI op); N_NIMCALL(void, hsclose_mMygNk9cI9adl1hVa8HM2s5w)(Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0); N_NIMCALL(NIM_BOOL, hsatend_RvXFfAGoLFsgGGpODT9b7BQ)(Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0); N_NIMCALL(NI, hsreaddata_ieraXKQWE78CiFg2M1WiHA)(Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s_LkmFLRyQRfFgkFiRuysVAw, void* buffer0, NI buflen0); N_NIMCALL(void, hswritedata_RpB0RZVadSTAvvH8cbGLKQ)(Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s_Go9cytw9cKc4d29ctlEiZa8gQ, void* buffer0, NI buflen0); N_NIMCALL(NI, ncpicountProcessors)(void); N_NIMCALL(void, nimGCvisit)(void* d0, NI op0); static N_NIMCALL(void, Marker_TY_l0xXJxOLtcuhlSBHl64t5w)(void* p, NI op); N_NIMCALL(void*, newSeq)(TNimType* typ0, NI len0); N_NIMCALL(Processobj_NHqciQYh8G1aN2n273mmYw*, nospstartProcess)(NimStringDesc* command0, NimStringDesc* workingdir0, NimStringDesc** args0, NI args0Len0, Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw* env0, Processoption_bnU6W8LhTMnT4JaSWtGlSA_Set options0); static N_INLINE(void, asgnRef)(void** dest0, void* src0); static N_INLINE(void, incref_9cAA5YuQAAC3MVbnGeV86swsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0); static N_INLINE(Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr0); static N_INLINE(void, decref_MV4BBk6J1qu70IbBxwEn4wsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0); static N_INLINE(void, rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0); N_NOINLINE(void, addzct_fCDI7oO1NNVXXURtxSzsRw)(Cellseq_Axo1XVm9aaQueTOldv8le5w* s0, Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0); N_NIMCALL(void, nossleep)(NI milsecs0); N_NIMCALL(NIM_BOOL, nosprunning)(Processobj_NHqciQYh8G1aN2n273mmYw* p0); N_NIMCALL(NI, nospwaitForExit)(Processobj_NHqciQYh8G1aN2n273mmYw* p0, NI timeout0); extern TNimType NTI_13RNkKqUOX1TtorOUlKtqA; TNimType NTI_NHqciQYh8G1aN2n273mmYw; extern TNimType NTI_rR5Bzr1D5krxoo1NcNyeMA; extern TNimType NTI_UtShRB9b1wZO9cvpdowm9cefA; extern TNimType NTI_nlCscttRCss70IBTyuBqnA; TNimType NTI_bnU6W8LhTMnT4JaSWtGlSA; TNimType NTI_HlmBYNr2gdAZMXOsuiSZ0A; TNimType NTI_Ryg5db24dBRIzTUa2BQTPg; extern TY_C5kM33gEhlSKPXwfDNHofQ Dl_119622; extern TY_zbOhGDO3f3Asi0OF5kiN4w Dl_119630; extern TY_jZjaRJIBSgYA1p8iXwsy9cA Dl_121421; extern TY_uryidYWkntM7ddjZSyxvyQ Dl_121419; extern TY_oew1DfaGl5XhHmnBK0HYXQ Dl_121409; extern TY_P13srMBg9b3d3yEV9aW4NCoA Dl_119603; extern TY_zP2zGemcuVRvOUE82f9a0Pw Dl_119820; extern TY_sZsab4827ISgT5SnxCijjg Dl_119652; extern TNimType NTI_RShkcoDOPnoCVhtpN1hDPQ; TNimType NTI_rXWfTqEOueKQF1Zr6U68Zw; extern TNimType NTI_VaVACK0bpYmqIQ0mKcHfQQ; TNimType NTI_809biO2nZKLCCWaUdwxpJnw; extern TY_9ajZYMGL5GqiRFqiCC367oA Dl_119606; extern TY_9ajZYMGL5GqiRFqiCC367oA Dl_119614; extern TY_FprzxJFfqQdWyyGxiUsmeQ Dl_119807; extern TY_KxeGXN001TReCr89ca9c5bng Dl_119815; TNimType NTI_l0xXJxOLtcuhlSBHl64t5w; extern Gcheap_1TRH1TZMaVZTnLNcIHuNFQ gch_IcYaEuuWivYAS86vFMTS3Q; static NIM_CONST TY_nmiMWKVIe46vacnhAFrQvw_Set T_HZdw8BhppcTQo8DIK46LSg_2 = { 0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; STRING_LITERAL(T_HZdw8BhppcTQo8DIK46LSg_3, "", 0); STRING_LITERAL(T_HZdw8BhppcTQo8DIK46LSg_4, "\"", 1); STRING_LITERAL(T_HZdw8BhppcTQo8DIK46LSg_5, "\\\"", 2); STRING_LITERAL(T_HZdw8BhppcTQo8DIK46LSg_10, "\\\\.\\pipe\\stdout", 15); STRING_LITERAL(T_HZdw8BhppcTQo8DIK46LSg_11, "\\\\.\\pipe\\stdin", 14); NIM_CONST TY_0hEbbYmlam6yzyW5MFo9cjg T_HZdw8BhppcTQo8DIK46LSg_12 = {NIM_NIL, ((NI) -1)} ; STRING_LITERAL(T_HZdw8BhppcTQo8DIK46LSg_13, "=", 1); STRING_LITERAL(T_HZdw8BhppcTQo8DIK46LSg_14, "Requested command not found: \'$1\'. OS error:", 44); static NIM_CONST TY_kElEuvYkhDcTHhB3d89aMYA T_HZdw8BhppcTQo8DIK46LSg_16 = {NIM_NIL,NIM_NIL}; static NIM_CONST TY_SfW5itioRNR8yop8fOJeNg T_HZdw8BhppcTQo8DIK46LSg_18 = {NIM_NIL,NIM_NIL}; static N_INLINE(void, copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem)(void* dest0, void* source0, NI size0) { void* LOC1; LOC1 = (void*)0; LOC1 = memcpy(dest0, source0, ((size_t) (size0))); } static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0) { copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem(((void*) ((&(*dest0).data[((*dest0).Sup.len)- 0]))), ((void*) ((*src0).data)), ((NI) ((NI)((*src0).Sup.len + ((NI) 1))))); (*dest0).Sup.len += (*src0).Sup.len; } N_NIMCALL(NimStringDesc*, nospquoteShellWindows)(NimStringDesc* s0) { NimStringDesc* result0; NIM_BOOL needquote0; NIM_BOOL LOC1; NimStringDesc* backslashbuff0; result0 = (NimStringDesc*)0; LOC1 = (NIM_BOOL)0; LOC1 = contains_m1TSS3QwQPclQATuiRuVZg(s0, T_HZdw8BhppcTQo8DIK46LSg_2); if (LOC1) goto LA2; LOC1 = ((s0 ? s0->Sup.len : 0) == ((NI) 0)); LA2: ; needquote0 = LOC1; result0 = copyString(((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3)); backslashbuff0 = copyString(((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3)); { if (!needquote0) goto LA5; result0 = resizeString(result0, 1); appendString(result0, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_4)); } LA5: ; { NIM_CHAR c_cEb5GPormUAx1moN9c0e4yw; NI i_yYr5ptEEqWg8zTlZgS3HdQ; NI L_e0rVwYwoF4shE6RWXRGvpg; c_cEb5GPormUAx1moN9c0e4yw = (NIM_CHAR)0; i_yYr5ptEEqWg8zTlZgS3HdQ = ((NI) 0); L_e0rVwYwoF4shE6RWXRGvpg = (s0 ? s0->Sup.len : 0); { while (1) { if (!(i_yYr5ptEEqWg8zTlZgS3HdQ < L_e0rVwYwoF4shE6RWXRGvpg)) goto LA9; c_cEb5GPormUAx1moN9c0e4yw = s0->data[i_yYr5ptEEqWg8zTlZgS3HdQ]; { if (!((NU8)(c_cEb5GPormUAx1moN9c0e4yw) == (NU8)(92))) goto LA12; backslashbuff0 = addChar(backslashbuff0, c_cEb5GPormUAx1moN9c0e4yw); } goto LA10; LA12: ; { if (!((NU8)(c_cEb5GPormUAx1moN9c0e4yw) == (NU8)(34))) goto LA15; result0 = resizeString(result0, backslashbuff0->Sup.len + 0); appendString(result0, backslashbuff0); result0 = resizeString(result0, backslashbuff0->Sup.len + 0); appendString(result0, backslashbuff0); backslashbuff0 = setLengthStr(backslashbuff0, ((NI) 0)); result0 = resizeString(result0, 2); appendString(result0, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_5)); } goto LA10; LA15: ; { { if (!!(((backslashbuff0 ? backslashbuff0->Sup.len : 0) == ((NI) 0)))) goto LA20; result0 = resizeString(result0, backslashbuff0->Sup.len + 0); appendString(result0, backslashbuff0); backslashbuff0 = setLengthStr(backslashbuff0, ((NI) 0)); } LA20: ; result0 = addChar(result0, c_cEb5GPormUAx1moN9c0e4yw); } LA10: ; i_yYr5ptEEqWg8zTlZgS3HdQ += ((NI) 1); } LA9: ; } } { if (!needquote0) goto LA24; result0 = resizeString(result0, 1); appendString(result0, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_4)); } LA24: ; return result0; } N_NIMCALL(NimStringDesc*, nospquoteShell)(NimStringDesc* s0) { NimStringDesc* result0; { result0 = (NimStringDesc*)0; result0 = nospquoteShellWindows(s0); goto BeforeRet; }BeforeRet: ; return result0; } static N_NIMCALL(void, Marker_TY_Ryg5db24dBRIzTUa2BQTPg)(void* p, NI op) { Processobj_NHqciQYh8G1aN2n273mmYw* a; a = (Processobj_NHqciQYh8G1aN2n273mmYw*)p; } N_NIMCALL(void, createpipehandles_nS1R74hYO6jh9akpSRUPnIg)(NI* rdhandle0, NI* wrhandle0) { Securityattributes_P4HW9ceaevTBZ5O3kGC8yyw sa0; memset((void*)(&sa0), 0, sizeof(sa0)); sa0.nlength = ((int) (((NI)sizeof(Securityattributes_P4HW9ceaevTBZ5O3kGC8yyw)))); sa0.lpsecuritydescriptor = NIM_NIL; sa0.binherithandle = ((NI32) 1); { NI32 LOC3; NI32 LOC6; LOC3 = (NI32)0; LOC3 = Dl_119622(rdhandle0, wrhandle0, (&sa0), ((NI32) 1024)); if (!(LOC3 == ((NI32) 0))) goto LA4; LOC6 = (NI32)0; LOC6 = oslasterror_6wyvsbJUteIgEY9cC5BVJZQ(); raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC6, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3)); } LA4: ; } N_NIMCALL(NI, mydup_BhmJ645pEpWayx9blkYZByQ)(NI h0, NI32 inherit0) { NI result0; NI thisproc0; result0 = (NI)0; thisproc0 = Dl_121419(); { NI32 LOC3; NI32 LOC6; LOC3 = (NI32)0; LOC3 = Dl_121409(thisproc0, h0, thisproc0, (&result0), ((NI32) 0), inherit0, ((NI32) 2)); if (!(LOC3 == ((NI32) 0))) goto LA4; LOC6 = (NI32)0; LOC6 = oslasterror_6wyvsbJUteIgEY9cC5BVJZQ(); raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC6, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3)); } LA4: ; return result0; } N_NIMCALL(void, createallpipehandles_ZPmzXxZKeyBt0Wi9aJjf52Q)(Startupinfo_WGlpKvY9cdd69bAwMQMNLYoQ* si0, NI* stdin_dS1b8X9bn6dC2ZZEWgAQb5Q, NI* stdout_dMYgA6WVZinWKi8dINL9bBQ, NI* stderr_9b2E9b3wEAndYKpn06YaEfdw, NI hash0) { Securityattributes_P4HW9ceaevTBZ5O3kGC8yyw sa0; NI16* pipeoutname0; NimStringDesc* LOC1; NimStringDesc* LOC2; NI16* pipeinname0; NimStringDesc* LOC3; NimStringDesc* LOC4; NI pipeout0; NI pipein0; NI32 LOC25; NI32 LOC26; memset((void*)(&sa0), 0, sizeof(sa0)); sa0.nlength = ((int) (((NI)sizeof(Securityattributes_P4HW9ceaevTBZ5O3kGC8yyw)))); sa0.lpsecuritydescriptor = NIM_NIL; sa0.binherithandle = ((NI32) 1); LOC1 = (NimStringDesc*)0; LOC2 = (NimStringDesc*)0; LOC2 = nimIntToStr(hash0); LOC1 = rawNewString(LOC2->Sup.len + 15); appendString(LOC1, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_10)); appendString(LOC1, LOC2); pipeoutname0 = newwidecstring_kxipuF9cNh6r2grKDcLjFuw(LOC1); LOC3 = (NimStringDesc*)0; LOC4 = (NimStringDesc*)0; LOC4 = nimIntToStr(hash0); LOC3 = rawNewString(LOC4->Sup.len + 14); appendString(LOC3, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_11)); appendString(LOC3, LOC4); pipeinname0 = newwidecstring_kxipuF9cNh6r2grKDcLjFuw(LOC3); pipeout0 = Dl_119630(pipeoutname0, ((NI32) -2147483647), ((NI32) 1), ((NI32) 1), ((NI32) 1024), ((NI32) 1024), ((NI32) 0), (&sa0)); { NI32 LOC9; if (!(pipeout0 == ((NI) -1))) goto LA7; LOC9 = (NI32)0; LOC9 = oslasterror_6wyvsbJUteIgEY9cC5BVJZQ(); raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC9, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3)); } LA7: ; pipein0 = Dl_119630(pipeinname0, ((NI32) -2147483646), ((NI32) 1), ((NI32) 1), ((NI32) 1024), ((NI32) 1024), ((NI32) 0), (&sa0)); { NI32 LOC14; if (!(pipein0 == ((NI) -1))) goto LA12; LOC14 = (NI32)0; LOC14 = oslasterror_6wyvsbJUteIgEY9cC5BVJZQ(); raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC14, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3)); } LA12: ; (*si0).hstdoutput = Dl_121421(pipeoutname0, ((NI32) 1048578), ((NI32) 0), ((void*) ((&sa0))), ((NI32) 3), ((NI32) 128), ((NI) 0)); { NI32 LOC19; if (!((*si0).hstdoutput == ((NI) -1))) goto LA17; LOC19 = (NI32)0; LOC19 = oslasterror_6wyvsbJUteIgEY9cC5BVJZQ(); raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC19, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3)); } LA17: ; (*si0).hstderror = mydup_BhmJ645pEpWayx9blkYZByQ((*si0).hstdoutput, ((NI32) 1)); (*si0).hstdinput = Dl_121421(pipeinname0, ((NI32) 1048577), ((NI32) 0), ((void*) ((&sa0))), ((NI32) 3), ((NI32) 128), ((NI) 0)); { NI32 LOC24; if (!((*si0).hstdoutput == ((NI) -1))) goto LA22; LOC24 = (NI32)0; LOC24 = oslasterror_6wyvsbJUteIgEY9cC5BVJZQ(); raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC24, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3)); } LA22: ; (*stdin_dS1b8X9bn6dC2ZZEWgAQb5Q) = mydup_BhmJ645pEpWayx9blkYZByQ(pipein0, ((NI32) 0)); (*stdout_dMYgA6WVZinWKi8dINL9bBQ) = mydup_BhmJ645pEpWayx9blkYZByQ(pipeout0, ((NI32) 0)); LOC25 = (NI32)0; LOC25 = Dl_119603(pipein0); LOC26 = (NI32)0; LOC26 = Dl_119603(pipeout0); (*stderr_9b2E9b3wEAndYKpn06YaEfdw) = (*stdout_dMYgA6WVZinWKi8dINL9bBQ); } N_NIMCALL(NCSTRING, buildcommandline_tA5mt9bJh8OMX1zGi2svnbw)(NimStringDesc* a0, NimStringDesc** args0, NI args0Len0) { NCSTRING result0; NimStringDesc* res0; void* LOC5; result0 = (NCSTRING)0; res0 = nospquoteShell(a0); { NI i_XmoTANb6HDvUW9coradigag; NI HEX3Atmp_RURePu0pPiw9awcJWKxsCXQ; NI res_IZGzjtmTaI4dYhmO9cPR8Yw; i_XmoTANb6HDvUW9coradigag = (NI)0; HEX3Atmp_RURePu0pPiw9awcJWKxsCXQ = (NI)0; HEX3Atmp_RURePu0pPiw9awcJWKxsCXQ = (args0Len0-1); res_IZGzjtmTaI4dYhmO9cPR8Yw = ((NI) 0); { while (1) { NimStringDesc* LOC4; if (!(res_IZGzjtmTaI4dYhmO9cPR8Yw <= HEX3Atmp_RURePu0pPiw9awcJWKxsCXQ)) goto LA3; i_XmoTANb6HDvUW9coradigag = res_IZGzjtmTaI4dYhmO9cPR8Yw; res0 = addChar(res0, 32); LOC4 = (NimStringDesc*)0; LOC4 = nospquoteShell(args0[i_XmoTANb6HDvUW9coradigag]); res0 = resizeString(res0, LOC4->Sup.len + 0); appendString(res0, LOC4); res_IZGzjtmTaI4dYhmO9cPR8Yw += ((NI) 1); } LA3: ; } } LOC5 = (void*)0; LOC5 = alloc0_4cubgSerkjpuLcj5MXjiLw(((NI) ((NI)((res0 ? res0->Sup.len : 0) + ((NI) 1))))); result0 = ((NCSTRING) (LOC5)); copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem(((void*) (result0)), ((void*) (res0->data)), ((NI) ((res0 ? res0->Sup.len : 0)))); return result0; } N_NIMCALL(TY_0hEbbYmlam6yzyW5MFo9cjg, buildenv_6JVbkmernZV2xMcrspjFVw)(Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw* env0) { TY_0hEbbYmlam6yzyW5MFo9cjg result0; NI L0; NCSTRING str0; void* LOC9; memset((void*)(&result0), 0, sizeof(result0)); L0 = ((NI) 0); { NimStringDesc* key_NeIONvdITbYxLNdCR3i9bPA; NimStringDesc* val_OFy5EaKNZE1ksW6lN2uFIQ; key_NeIONvdITbYxLNdCR3i9bPA = (NimStringDesc*)0; val_OFy5EaKNZE1ksW6lN2uFIQ = (NimStringDesc*)0; { NI h_uoOej7RlqHmlktjJ7YI9auQ; NI HEX3Atmp_9cKjwdYbZvLwERXSY69aihwQ; NI res_IJw1jJuPkhet3PD739aZX9bA; h_uoOej7RlqHmlktjJ7YI9auQ = (NI)0; HEX3Atmp_9cKjwdYbZvLwERXSY69aihwQ = (NI)0; HEX3Atmp_9cKjwdYbZvLwERXSY69aihwQ = ((*env0).data ? ((*env0).data->Sup.len-1) : -1); res_IJw1jJuPkhet3PD739aZX9bA = ((NI) 0); { while (1) { if (!(res_IJw1jJuPkhet3PD739aZX9bA <= HEX3Atmp_9cKjwdYbZvLwERXSY69aihwQ)) goto LA4; h_uoOej7RlqHmlktjJ7YI9auQ = res_IJw1jJuPkhet3PD739aZX9bA; { if (!!(((*env0).data->data[h_uoOej7RlqHmlktjJ7YI9auQ].Field0 == 0))) goto LA7; key_NeIONvdITbYxLNdCR3i9bPA = (*env0).data->data[h_uoOej7RlqHmlktjJ7YI9auQ].Field0; val_OFy5EaKNZE1ksW6lN2uFIQ = (*env0).data->data[h_uoOej7RlqHmlktjJ7YI9auQ].Field1; L0 += (NI)((NI)((key_NeIONvdITbYxLNdCR3i9bPA ? key_NeIONvdITbYxLNdCR3i9bPA->Sup.len : 0) + (val_OFy5EaKNZE1ksW6lN2uFIQ ? val_OFy5EaKNZE1ksW6lN2uFIQ->Sup.len : 0)) + ((NI) 2)); } LA7: ; res_IJw1jJuPkhet3PD739aZX9bA += ((NI) 1); } LA4: ; } } } LOC9 = (void*)0; LOC9 = alloc0_4cubgSerkjpuLcj5MXjiLw(((NI) ((NI)(L0 + ((NI) 2))))); str0 = ((NCSTRING) (LOC9)); L0 = ((NI) 0); { NimStringDesc* key_NeIONvdITbYxLNdCR3i9bPA_2; NimStringDesc* val_OFy5EaKNZE1ksW6lN2uFIQ_2; key_NeIONvdITbYxLNdCR3i9bPA_2 = (NimStringDesc*)0; val_OFy5EaKNZE1ksW6lN2uFIQ_2 = (NimStringDesc*)0; { NI h_uoOej7RlqHmlktjJ7YI9auQ_2; NI HEX3Atmp_9cKjwdYbZvLwERXSY69aihwQ_2; NI res_IJw1jJuPkhet3PD739aZX9bA_2; h_uoOej7RlqHmlktjJ7YI9auQ_2 = (NI)0; HEX3Atmp_9cKjwdYbZvLwERXSY69aihwQ_2 = (NI)0; HEX3Atmp_9cKjwdYbZvLwERXSY69aihwQ_2 = ((*env0).data ? ((*env0).data->Sup.len-1) : -1); res_IJw1jJuPkhet3PD739aZX9bA_2 = ((NI) 0); { while (1) { if (!(res_IJw1jJuPkhet3PD739aZX9bA_2 <= HEX3Atmp_9cKjwdYbZvLwERXSY69aihwQ_2)) goto LA13; h_uoOej7RlqHmlktjJ7YI9auQ_2 = res_IJw1jJuPkhet3PD739aZX9bA_2; { NimStringDesc* x0; NimStringDesc* LOC18; if (!!(((*env0).data->data[h_uoOej7RlqHmlktjJ7YI9auQ_2].Field0 == 0))) goto LA16; key_NeIONvdITbYxLNdCR3i9bPA_2 = (*env0).data->data[h_uoOej7RlqHmlktjJ7YI9auQ_2].Field0; val_OFy5EaKNZE1ksW6lN2uFIQ_2 = (*env0).data->data[h_uoOej7RlqHmlktjJ7YI9auQ_2].Field1; LOC18 = (NimStringDesc*)0; LOC18 = rawNewString(key_NeIONvdITbYxLNdCR3i9bPA_2->Sup.len + val_OFy5EaKNZE1ksW6lN2uFIQ_2->Sup.len + 1); appendString(LOC18, key_NeIONvdITbYxLNdCR3i9bPA_2); appendString(LOC18, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_13)); appendString(LOC18, val_OFy5EaKNZE1ksW6lN2uFIQ_2); x0 = LOC18; copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem(((void*) ((&str0[L0]))), ((void*) (x0->data)), ((NI) ((NI)((x0 ? x0->Sup.len : 0) + ((NI) 1))))); L0 += (NI)((x0 ? x0->Sup.len : 0) + ((NI) 1)); } LA16: ; res_IJw1jJuPkhet3PD739aZX9bA_2 += ((NI) 1); } LA13: ; } } } result0.Field0 = str0; result0.Field1 = L0; return result0; } static N_INLINE(void, fileclose_s9aNEcfRNr6spr6kxfw4GLAosproc)(NI h0) { { NI32 LOC5; if (!(((NI) 4) < h0)) goto LA3; LOC5 = (NI32)0; LOC5 = Dl_119603(h0); } LA3: ; } static N_INLINE(NIM_BOOL, HEX3DHEX3D_9ccNWqrTIE9bcAqE2Q0ro7zgos)(NCSTRING x0, NCSTRING y0) { NIM_BOOL result0; result0 = (NIM_BOOL)0; { if (!(((void*) (x0)) == ((void*) (y0)))) goto LA3; result0 = NIM_TRUE; } goto LA1; LA3: ; { NIM_BOOL LOC6; LOC6 = (NIM_BOOL)0; LOC6 = (x0 == 0); if (LOC6) goto LA7; LOC6 = (y0 == 0); LA7: ; if (!LOC6) goto LA8; result0 = NIM_FALSE; } goto LA1; LA8: ; { int LOC11; LOC11 = (int)0; LOC11 = strcmp(x0, y0); result0 = (LOC11 == ((NI32) 0)); } LA1: ; return result0; } N_NIMCALL(void, nospclose)(Processobj_NHqciQYh8G1aN2n273mmYw* p0) { { NI32 LOC5; NI32 LOC6; NI32 LOC7; if (!(((*p0).options &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 5))&7U)))!=0)) goto LA3; LOC5 = (NI32)0; LOC5 = Dl_119603(((NI) ((*p0).inhandle))); LOC6 = (NI32)0; LOC6 = Dl_119603(((NI) ((*p0).outhandle))); LOC7 = (NI32)0; LOC7 = Dl_119603(((NI) ((*p0).errhandle))); } LA3: ; } N_NIMCALL(Processobj_NHqciQYh8G1aN2n273mmYw*, nospstartProcess)(NimStringDesc* command0, NimStringDesc* workingdir0, NimStringDesc** args0, NI args0Len0, Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw* env0, Processoption_bnU6W8LhTMnT4JaSWtGlSA_Set options0) { Processobj_NHqciQYh8G1aN2n273mmYw* result0; Startupinfo_WGlpKvY9cdd69bAwMQMNLYoQ si0; Processinformation_rpgAdaffN9b79bo2kEQiFsMg procinfo0; NI success0; NI hi0; NI ho0; NI he0; NCSTRING cmdl0; NCSTRING wd0; TY_0hEbbYmlam6yzyW5MFo9cjg e0; NI16* tmp0; NI16* ee0; NI16* wwd0; NI32 flags0; NI32 LOC43; NI32 lasterror0; NI32 LOC71; result0 = (Processobj_NHqciQYh8G1aN2n273mmYw*)0; memset((void*)(&si0), 0, sizeof(si0)); memset((void*)(&procinfo0), 0, sizeof(procinfo0)); success0 = (NI)0; hi0 = (NI)0; ho0 = (NI)0; he0 = (NI)0; result0 = (Processobj_NHqciQYh8G1aN2n273mmYw*) newObj((&NTI_Ryg5db24dBRIzTUa2BQTPg), sizeof(Processobj_NHqciQYh8G1aN2n273mmYw)); (*result0).Sup.m_type = (&NTI_NHqciQYh8G1aN2n273mmYw); (*result0).options = options0; si0.cb = ((int) (((NI)sizeof(Startupinfo_WGlpKvY9cdd69bAwMQMNLYoQ)))); { if (!!(((options0 &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 4))&7U)))!=0))) goto LA3; si0.dwflags = ((NI32) 256); { if (!!(((options0 &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 5))&7U)))!=0))) goto LA7; createpipehandles_nS1R74hYO6jh9akpSRUPnIg((&si0.hstdinput), (&hi0)); createpipehandles_nS1R74hYO6jh9akpSRUPnIg((&ho0), (&si0.hstdoutput)); { if (!((options0 &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 3))&7U)))!=0)) goto LA11; si0.hstderror = si0.hstdoutput; he0 = ho0; } goto LA9; LA11: ; { createpipehandles_nS1R74hYO6jh9akpSRUPnIg((&he0), (&si0.hstderror)); } LA9: ; } goto LA5; LA7: ; { createallpipehandles_ZPmzXxZKeyBt0Wi9aJjf52Q((&si0), (&hi0), (&ho0), (&he0), ((NI) (result0))); } LA5: ; (*result0).inhandle = ((int) (hi0)); (*result0).outhandle = ((int) (ho0)); (*result0).errhandle = ((int) (he0)); } goto LA1; LA3: ; { si0.hstderror = Dl_119820(((NI32) -12)); si0.hstdinput = Dl_119820(((NI32) -10)); si0.hstdoutput = Dl_119820(((NI32) -11)); (*result0).inhandle = ((int) (si0.hstdinput)); (*result0).outhandle = ((int) (si0.hstdoutput)); (*result0).errhandle = ((int) (si0.hstderror)); } LA1: ; cmdl0 = (NCSTRING)0; { if (!((options0 &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 2))&7U)))!=0)) goto LA18; cmdl0 = command0->data; } goto LA16; LA18: ; { cmdl0 = buildcommandline_tA5mt9bJh8OMX1zGi2svnbw(command0, args0, args0Len0); } LA16: ; wd0 = NIM_NIL; e0 = T_HZdw8BhppcTQo8DIK46LSg_12; { if (!(((NI) 0) < (workingdir0 ? workingdir0->Sup.len : 0))) goto LA23; wd0 = workingdir0->data; } LA23: ; { if (!!((env0 == NIM_NIL))) goto LA27; e0 = buildenv_6JVbkmernZV2xMcrspjFVw(env0); } LA27: ; { NimStringDesc* LOC33; if (!((options0 &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 0))&7U)))!=0)) goto LA31; LOC33 = (NimStringDesc*)0; LOC33 = cstrToNimstr(cmdl0); printf("%s\015\012", LOC33? (LOC33)->data:"nil"); fflush(stdout); } LA31: ; tmp0 = newwidecstring_NuXSaDWgkbvz3UCBEjgeFQ(cmdl0); { if (!(e0.Field0 == 0)) goto LA36; ee0 = NIM_NIL; } goto LA34; LA36: ; { ee0 = newwidecstring_b3CORJA07cGvZB3j3M3bqQ(e0.Field0, e0.Field1); } LA34: ; wwd0 = newwidecstring_NuXSaDWgkbvz3UCBEjgeFQ(wd0); flags0 = ((NI32) 1056); { if (!((options0 &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 6))&7U)))!=0)) goto LA41; flags0 = (NI32)(flags0 | ((NI32) 134217728)); } LA41: ; LOC43 = (NI32)0; LOC43 = Dl_119652(NIM_NIL, tmp0, NIM_NIL, NIM_NIL, ((NI32) 1), flags0, ee0, wwd0, (&si0), (&procinfo0)); success0 = ((NI) (LOC43)); lasterror0 = oslasterror_6wyvsbJUteIgEY9cC5BVJZQ(); { if (!!(((options0 &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 4))&7U)))!=0))) goto LA46; fileclose_s9aNEcfRNr6spr6kxfw4GLAosproc(si0.hstdinput); fileclose_s9aNEcfRNr6spr6kxfw4GLAosproc(si0.hstdoutput); { if (!!(((options0 &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 3))&7U)))!=0))) goto LA50; fileclose_s9aNEcfRNr6spr6kxfw4GLAosproc(si0.hstderror); } LA50: ; } LA46: ; { NIM_BOOL LOC54; LOC54 = (NIM_BOOL)0; LOC54 = HEX3DHEX3D_9ccNWqrTIE9bcAqE2Q0ro7zgos(e0.Field0, NIM_NIL); if (!!(LOC54)) goto LA55; dealloc_RCjNtRnHdRYntrcE7YtwWw(((void*) (e0.Field0))); } LA55: ; { if (!(success0 == ((NI) 0))) goto LA59; { if (!(((*result0).options &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 5))&7U)))!=0)) goto LA63; nospclose(result0); } LA63: ; { NimStringDesc* LOC69; if (!(((NI) (lasterror0)) == ((NI) 87) || ((NI) (lasterror0)) == ((NI) 2))) goto LA67; LOC69 = (NimStringDesc*)0; LOC69 = nsuFormatSingleElem(((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_14), command0); raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(lasterror0, LOC69); } goto LA65; LA67: ; { raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(lasterror0, command0); } LA65: ; } LA59: ; LOC71 = (NI32)0; LOC71 = Dl_119603(procinfo0.hthread); (*result0).fprocesshandle = procinfo0.hprocess; (*result0).id = ((NI) (procinfo0.dwprocessid)); return result0; } static N_NIMCALL(void, Marker_TY_809biO2nZKLCCWaUdwxpJnw)(void* p, NI op) { Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw* a; a = (Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw*)p; } N_NIMCALL(void, hsclose_mMygNk9cI9adl1hVa8HM2s5w)(Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0) { } N_NIMCALL(NIM_BOOL, hsatend_RvXFfAGoLFsgGGpODT9b7BQ)(Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; result0 = (*((Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw*) (s0))).attheend; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(NI, hsreaddata_ieraXKQWE78CiFg2M1WiHA)(Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s_LkmFLRyQRfFgkFiRuysVAw, void* buffer0, NI buflen0) { NI result0; Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw* s0; NI32 br0; NI32 a0; { result0 = (NI)0; s0 = ((Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw*) (s_LkmFLRyQRfFgkFiRuysVAw)); { if (!(*s0).attheend) goto LA3; result0 = ((NI) 0); goto BeforeRet; } LA3: ; br0 = (NI32)0; a0 = Dl_119606((*s0).handle, buffer0, ((int) (buflen0)), (&br0), NIM_NIL); { NIM_BOOL LOC7; NI32 LOC11; LOC7 = (NIM_BOOL)0; LOC7 = (a0 == ((NI32) 0)); if (!(LOC7)) goto LA8; LOC7 = !((br0 == ((NI32) 0))); LA8: ; if (!LOC7) goto LA9; LOC11 = (NI32)0; LOC11 = oslasterror_6wyvsbJUteIgEY9cC5BVJZQ(); raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC11, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3)); } LA9: ; (*s0).attheend = (br0 == ((NI32) 0)); result0 = ((NI) (br0)); }BeforeRet: ; return result0; } N_NIMCALL(void, hswritedata_RpB0RZVadSTAvvH8cbGLKQ)(Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s_Go9cytw9cKc4d29ctlEiZa8gQ, void* buffer0, NI buflen0) { Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw* s0; NI32 byteswritten0; NI32 a0; s0 = ((Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw*) (s_Go9cytw9cKc4d29ctlEiZa8gQ)); byteswritten0 = (NI32)0; a0 = Dl_119614((*s0).handle, buffer0, ((int) (buflen0)), (&byteswritten0), NIM_NIL); { NI32 LOC5; if (!(a0 == ((NI32) 0))) goto LA3; LOC5 = (NI32)0; LOC5 = oslasterror_6wyvsbJUteIgEY9cC5BVJZQ(); raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC5, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3)); } LA3: ; } N_NIMCALL(Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw*, newfilehandlestream_FY9bg8cqHQ3304H4lX7tZjQ)(NI handle0) { Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw* result0; result0 = (Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw*)0; result0 = (Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw*) newObj((&NTI_809biO2nZKLCCWaUdwxpJnw), sizeof(Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw)); (*result0).Sup.Sup.m_type = (&NTI_rXWfTqEOueKQF1Zr6U68Zw); (*result0).handle = handle0; (*result0).Sup.closeimpl = hsclose_mMygNk9cI9adl1hVa8HM2s5w; (*result0).Sup.atendimpl = hsatend_RvXFfAGoLFsgGGpODT9b7BQ; (*result0).Sup.readdataimpl = hsreaddata_ieraXKQWE78CiFg2M1WiHA; (*result0).Sup.writedataimpl = hswritedata_RpB0RZVadSTAvvH8cbGLKQ; return result0; } N_NIMCALL(Streamobj_RShkcoDOPnoCVhtpN1hDPQ*, nospinputStream)(Processobj_NHqciQYh8G1aN2n273mmYw* p0) { Streamobj_RShkcoDOPnoCVhtpN1hDPQ* result0; Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw* LOC1; result0 = (Streamobj_RShkcoDOPnoCVhtpN1hDPQ*)0; LOC1 = (Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw*)0; LOC1 = newfilehandlestream_FY9bg8cqHQ3304H4lX7tZjQ(((NI) ((*p0).inhandle))); result0 = &LOC1->Sup; return result0; } N_NIMCALL(Streamobj_RShkcoDOPnoCVhtpN1hDPQ*, nospoutputStream)(Processobj_NHqciQYh8G1aN2n273mmYw* p0) { Streamobj_RShkcoDOPnoCVhtpN1hDPQ* result0; Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw* LOC1; result0 = (Streamobj_RShkcoDOPnoCVhtpN1hDPQ*)0; LOC1 = (Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw*)0; LOC1 = newfilehandlestream_FY9bg8cqHQ3304H4lX7tZjQ(((NI) ((*p0).outhandle))); result0 = &LOC1->Sup; return result0; } N_NIMCALL(NI, nospwaitForExit)(Processobj_NHqciQYh8G1aN2n273mmYw* p0, NI timeout0) { NI result0; NI32 LOC1; NI32 res0; NI32 LOC2; NI32 LOC3; result0 = (NI)0; LOC1 = (NI32)0; LOC1 = Dl_119807((*p0).fprocesshandle, ((NI32) (timeout0))); res0 = (NI32)0; LOC2 = (NI32)0; LOC2 = Dl_119815((*p0).fprocesshandle, (&res0)); result0 = ((NI) (res0)); LOC3 = (NI32)0; LOC3 = Dl_119603((*p0).fprocesshandle); return result0; } N_NIMCALL(NI, nospexecCmd)(NimStringDesc* command0) { NI result0; Startupinfo_WGlpKvY9cdd69bAwMQMNLYoQ si0; Processinformation_rpgAdaffN9b79bo2kEQiFsMg procinfo0; NI process0; NI32 L0; NI16* c0; NI32 res0; result0 = (NI)0; memset((void*)(&si0), 0, sizeof(si0)); memset((void*)(&procinfo0), 0, sizeof(procinfo0)); process0 = (NI)0; L0 = (NI32)0; si0.cb = ((int) (((NI)sizeof(Startupinfo_WGlpKvY9cdd69bAwMQMNLYoQ)))); si0.hstderror = Dl_119820(((NI32) -12)); si0.hstdinput = Dl_119820(((NI32) -10)); si0.hstdoutput = Dl_119820(((NI32) -11)); c0 = newwidecstring_kxipuF9cNh6r2grKDcLjFuw(command0); res0 = Dl_119652(NIM_NIL, c0, NIM_NIL, NIM_NIL, ((NI32) 0), ((NI32) 32), NIM_NIL, NIM_NIL, (&si0), (&procinfo0)); { NI32 LOC5; if (!(res0 == ((NI32) 0))) goto LA3; LOC5 = (NI32)0; LOC5 = oslasterror_6wyvsbJUteIgEY9cC5BVJZQ(); raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC5, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3)); } goto LA1; LA3: ; { NI32 LOC7; NI32 LOC15; process0 = procinfo0.hprocess; LOC7 = (NI32)0; LOC7 = Dl_119603(procinfo0.hthread); { NI32 LOC10; NI32 LOC13; LOC10 = (NI32)0; LOC10 = Dl_119807(process0, ((NI32) -1)); if (!!((LOC10 == ((NI32) -1)))) goto LA11; LOC13 = (NI32)0; LOC13 = Dl_119815(process0, (&L0)); result0 = ((NI) (L0)); } goto LA8; LA11: ; { result0 = ((NI) -1); } LA8: ; LOC15 = (NI32)0; LOC15 = Dl_119603(process0); } LA1: ; return result0; } N_NIMCALL(NI, peekexitcode_XqKQhqFFBS8ux5QQWd3fgg)(Processobj_NHqciQYh8G1aN2n273mmYw* p0) { NI result0; NIM_BOOL b0; NI32 LOC1; { result0 = (NI)0; LOC1 = (NI32)0; LOC1 = Dl_119807((*p0).fprocesshandle, ((NI32) 50)); b0 = (LOC1 == ((NI32) 258)); { if (!b0) goto LA4; result0 = ((NI) -1); } goto LA2; LA4: ; { NI32 res0; NI32 LOC7; res0 = (NI32)0; LOC7 = (NI32)0; LOC7 = Dl_119815((*p0).fprocesshandle, (&res0)); result0 = ((NI) (res0)); goto BeforeRet; } LA2: ; }BeforeRet: ; return result0; } N_NIMCALL(NI, nospcountProcessors)(void) { NI result0; result0 = (NI)0; result0 = ncpicountProcessors(); return result0; } static N_NIMCALL(void, Marker_TY_l0xXJxOLtcuhlSBHl64t5w)(void* p, NI op) { TY_l0xXJxOLtcuhlSBHl64t5w* a; NI LOC1; a = (TY_l0xXJxOLtcuhlSBHl64t5w*)p; LOC1 = (NI)0; for (LOC1 = 0; LOC1 < a->Sup.len; LOC1++) { nimGCvisit((void*)a->data[LOC1], op); } } static N_INLINE(void, incref_9cAA5YuQAAC3MVbnGeV86swsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) { (*c0).refcount = (NI)((NU32)((*c0).refcount) + (NU32)(((NI) 8))); } static N_INLINE(Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr0) { Cell_1zcF9cV8XIAtbN8h5HRUB8g* result0; result0 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0; result0 = ((Cell_1zcF9cV8XIAtbN8h5HRUB8g*) ((NI)((NU32)(((NI) (usr0))) - (NU32)(((NI)sizeof(Cell_1zcF9cV8XIAtbN8h5HRUB8g)))))); return result0; } static N_INLINE(void, rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) { addzct_fCDI7oO1NNVXXURtxSzsRw((&gch_IcYaEuuWivYAS86vFMTS3Q.zct), c0); } static N_INLINE(void, decref_MV4BBk6J1qu70IbBxwEn4wsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) { { (*c0).refcount -= ((NI) 8); if (!((NU32)((*c0).refcount) < (NU32)(((NI) 8)))) goto LA3; rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system(c0); } LA3: ; } static N_INLINE(void, asgnRef)(void** dest0, void* src0) { { Cell_1zcF9cV8XIAtbN8h5HRUB8g* LOC5; if (!!((src0 == NIM_NIL))) goto LA3; LOC5 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0; LOC5 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(src0); incref_9cAA5YuQAAC3MVbnGeV86swsystem(LOC5); } LA3: ; { Cell_1zcF9cV8XIAtbN8h5HRUB8g* LOC10; if (!!(((*dest0) == NIM_NIL))) goto LA8; LOC10 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0; LOC10 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem((*dest0)); decref_MV4BBk6J1qu70IbBxwEn4wsystem(LOC10); } LA8: ; (*dest0) = src0; } N_NIMCALL(NIM_BOOL, nosprunning)(Processobj_NHqciQYh8G1aN2n273mmYw* p0) { NIM_BOOL result0; NI32 x0; { result0 = (NIM_BOOL)0; x0 = Dl_119807((*p0).fprocesshandle, ((NI32) 50)); result0 = (x0 == ((NI32) 258)); goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(NI, nospexecProcesses)(NimStringDesc** cmds0, NI cmds0Len0, Processoption_bnU6W8LhTMnT4JaSWtGlSA_Set options0, NI n0, TY_kElEuvYkhDcTHhB3d89aMYA beforerunevent0, TY_SfW5itioRNR8yop8fOJeNg afterrunevent0) { NI result0; result0 = (NI)0; { TY_l0xXJxOLtcuhlSBHl64t5w* q0; NI m0; NI i0; if (!(((NI) 1) < n0)) goto LA3; q0 = (TY_l0xXJxOLtcuhlSBHl64t5w*)0; q0 = (TY_l0xXJxOLtcuhlSBHl64t5w*) newSeq((&NTI_l0xXJxOLtcuhlSBHl64t5w), ((NI) (n0))); m0 = ((n0 <= cmds0Len0) ? n0 : cmds0Len0); { NI i_IXYJmgb9b21Zawh7ZZyHDAA; NI HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw; NI res_I72nYMiJcfiDqXF9cJLTlxQ; i_IXYJmgb9b21Zawh7ZZyHDAA = (NI)0; HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw = (NI)0; HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw = (NI)(m0 - ((NI) 1)); res_I72nYMiJcfiDqXF9cJLTlxQ = ((NI) 0); { while (1) { TY_8ZvwQIddfpj2THRVPsFzIQ LOC12; if (!(res_I72nYMiJcfiDqXF9cJLTlxQ <= HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw)) goto LA7; i_IXYJmgb9b21Zawh7ZZyHDAA = res_I72nYMiJcfiDqXF9cJLTlxQ; { if (!!((beforerunevent0.ClPrc == T_HZdw8BhppcTQo8DIK46LSg_16.ClPrc && beforerunevent0.ClEnv == T_HZdw8BhppcTQo8DIK46LSg_16.ClEnv))) goto LA10; beforerunevent0.ClEnv? beforerunevent0.ClPrc(i_IXYJmgb9b21Zawh7ZZyHDAA, beforerunevent0.ClEnv):((T_HZdw8BhppcTQo8DIK46LSg_17)(beforerunevent0.ClPrc))(i_IXYJmgb9b21Zawh7ZZyHDAA); } LA10: ; memset((void*)LOC12, 0, sizeof(LOC12)); asgnRef((void**) (&q0->data[i_IXYJmgb9b21Zawh7ZZyHDAA]), nospstartProcess(cmds0[i_IXYJmgb9b21Zawh7ZZyHDAA], ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3), LOC12, 0, NIM_NIL, (options0 | 4))); res_I72nYMiJcfiDqXF9cJLTlxQ += ((NI) 1); } LA7: ; } } i0 = m0; { while (1) { if (!(i0 <= (cmds0Len0-1))) goto LA14; nossleep(((NI) 50)); { NI r_7CDX8QyPfnTM0rb4p9bm9blg; NI HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw_2; NI res_I72nYMiJcfiDqXF9cJLTlxQ_2; r_7CDX8QyPfnTM0rb4p9bm9blg = (NI)0; HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw_2 = (NI)0; HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw_2 = (NI)(n0 - ((NI) 1)); res_I72nYMiJcfiDqXF9cJLTlxQ_2 = ((NI) 0); { while (1) { if (!(res_I72nYMiJcfiDqXF9cJLTlxQ_2 <= HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw_2)) goto LA17; r_7CDX8QyPfnTM0rb4p9bm9blg = res_I72nYMiJcfiDqXF9cJLTlxQ_2; { NIM_BOOL LOC20; NI LOC23; TY_8ZvwQIddfpj2THRVPsFzIQ LOC36; LOC20 = (NIM_BOOL)0; LOC20 = nosprunning(q0->data[r_7CDX8QyPfnTM0rb4p9bm9blg]); if (!!(LOC20)) goto LA21; LOC23 = (NI)0; LOC23 = nospwaitForExit(q0->data[r_7CDX8QyPfnTM0rb4p9bm9blg], ((NI) -1)); result0 = ((LOC23 >= result0) ? LOC23 : result0); { if (!!((afterrunevent0.ClPrc == T_HZdw8BhppcTQo8DIK46LSg_18.ClPrc && afterrunevent0.ClEnv == T_HZdw8BhppcTQo8DIK46LSg_18.ClEnv))) goto LA26; afterrunevent0.ClEnv? afterrunevent0.ClPrc(r_7CDX8QyPfnTM0rb4p9bm9blg, q0->data[r_7CDX8QyPfnTM0rb4p9bm9blg], afterrunevent0.ClEnv):((T_HZdw8BhppcTQo8DIK46LSg_19)(afterrunevent0.ClPrc))(r_7CDX8QyPfnTM0rb4p9bm9blg, q0->data[r_7CDX8QyPfnTM0rb4p9bm9blg]); } LA26: ; { if (!!((q0->data[r_7CDX8QyPfnTM0rb4p9bm9blg] == NIM_NIL))) goto LA30; nospclose(q0->data[r_7CDX8QyPfnTM0rb4p9bm9blg]); } LA30: ; { if (!!((beforerunevent0.ClPrc == T_HZdw8BhppcTQo8DIK46LSg_16.ClPrc && beforerunevent0.ClEnv == T_HZdw8BhppcTQo8DIK46LSg_16.ClEnv))) goto LA34; beforerunevent0.ClEnv? beforerunevent0.ClPrc(i0, beforerunevent0.ClEnv):((T_HZdw8BhppcTQo8DIK46LSg_20)(beforerunevent0.ClPrc))(i0); } LA34: ; memset((void*)LOC36, 0, sizeof(LOC36)); asgnRef((void**) (&q0->data[r_7CDX8QyPfnTM0rb4p9bm9blg]), nospstartProcess(cmds0[i0], ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3), LOC36, 0, NIM_NIL, (options0 | 4))); i0 += ((NI) 1); { if (!((cmds0Len0-1) < i0)) goto LA39; goto LA15; } LA39: ; } LA21: ; res_I72nYMiJcfiDqXF9cJLTlxQ_2 += ((NI) 1); } LA17: ; } } LA15: ; } LA14: ; } { NI j_Qx3Y6Wjo6lf0L32X59altUg; NI HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw_3; NI res_I72nYMiJcfiDqXF9cJLTlxQ_3; j_Qx3Y6Wjo6lf0L32X59altUg = (NI)0; HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw_3 = (NI)0; HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw_3 = (NI)(m0 - ((NI) 1)); res_I72nYMiJcfiDqXF9cJLTlxQ_3 = ((NI) 0); { while (1) { NI LOC44; if (!(res_I72nYMiJcfiDqXF9cJLTlxQ_3 <= HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw_3)) goto LA43; j_Qx3Y6Wjo6lf0L32X59altUg = res_I72nYMiJcfiDqXF9cJLTlxQ_3; LOC44 = (NI)0; LOC44 = nospwaitForExit(q0->data[j_Qx3Y6Wjo6lf0L32X59altUg], ((NI) -1)); result0 = ((LOC44 >= result0) ? LOC44 : result0); { if (!!((afterrunevent0.ClPrc == T_HZdw8BhppcTQo8DIK46LSg_18.ClPrc && afterrunevent0.ClEnv == T_HZdw8BhppcTQo8DIK46LSg_18.ClEnv))) goto LA47; afterrunevent0.ClEnv? afterrunevent0.ClPrc(j_Qx3Y6Wjo6lf0L32X59altUg, q0->data[j_Qx3Y6Wjo6lf0L32X59altUg], afterrunevent0.ClEnv):((T_HZdw8BhppcTQo8DIK46LSg_21)(afterrunevent0.ClPrc))(j_Qx3Y6Wjo6lf0L32X59altUg, q0->data[j_Qx3Y6Wjo6lf0L32X59altUg]); } LA47: ; { if (!!((q0->data[j_Qx3Y6Wjo6lf0L32X59altUg] == NIM_NIL))) goto LA51; nospclose(q0->data[j_Qx3Y6Wjo6lf0L32X59altUg]); } LA51: ; res_I72nYMiJcfiDqXF9cJLTlxQ_3 += ((NI) 1); } LA43: ; } } } goto LA1; LA3: ; { { NI i_IXYJmgb9b21Zawh7ZZyHDAA_2; NI HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw_4; NI res_I72nYMiJcfiDqXF9cJLTlxQ_4; i_IXYJmgb9b21Zawh7ZZyHDAA_2 = (NI)0; HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw_4 = (NI)0; HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw_4 = (cmds0Len0-1); res_I72nYMiJcfiDqXF9cJLTlxQ_4 = ((NI) 0); { while (1) { Processobj_NHqciQYh8G1aN2n273mmYw* p0; TY_8ZvwQIddfpj2THRVPsFzIQ LOC61; NI LOC62; if (!(res_I72nYMiJcfiDqXF9cJLTlxQ_4 <= HEX3Atmp_5gh2Mdy1iOr2MuifGkk4kw_4)) goto LA56; i_IXYJmgb9b21Zawh7ZZyHDAA_2 = res_I72nYMiJcfiDqXF9cJLTlxQ_4; { if (!!((beforerunevent0.ClPrc == T_HZdw8BhppcTQo8DIK46LSg_16.ClPrc && beforerunevent0.ClEnv == T_HZdw8BhppcTQo8DIK46LSg_16.ClEnv))) goto LA59; beforerunevent0.ClEnv? beforerunevent0.ClPrc(i_IXYJmgb9b21Zawh7ZZyHDAA_2, beforerunevent0.ClEnv):((T_HZdw8BhppcTQo8DIK46LSg_22)(beforerunevent0.ClPrc))(i_IXYJmgb9b21Zawh7ZZyHDAA_2); } LA59: ; memset((void*)LOC61, 0, sizeof(LOC61)); p0 = nospstartProcess(cmds0[i_IXYJmgb9b21Zawh7ZZyHDAA_2], ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_3), LOC61, 0, NIM_NIL, (options0 | 4)); LOC62 = (NI)0; LOC62 = nospwaitForExit(p0, ((NI) -1)); result0 = ((LOC62 >= result0) ? LOC62 : result0); { if (!!((afterrunevent0.ClPrc == T_HZdw8BhppcTQo8DIK46LSg_18.ClPrc && afterrunevent0.ClEnv == T_HZdw8BhppcTQo8DIK46LSg_18.ClEnv))) goto LA65; afterrunevent0.ClEnv? afterrunevent0.ClPrc(i_IXYJmgb9b21Zawh7ZZyHDAA_2, p0, afterrunevent0.ClEnv):((T_HZdw8BhppcTQo8DIK46LSg_23)(afterrunevent0.ClPrc))(i_IXYJmgb9b21Zawh7ZZyHDAA_2, p0); } LA65: ; nospclose(p0); res_I72nYMiJcfiDqXF9cJLTlxQ_4 += ((NI) 1); } LA56: ; } } } LA1: ; return result0; } NIM_EXTERNC N_NOINLINE(void, stdlib_osprocInit000)(void) { } NIM_EXTERNC N_NOINLINE(void, stdlib_osprocDatInit000)(void) { static TNimNode* T_HZdw8BhppcTQo8DIK46LSg_6[7]; static TNimNode* T_HZdw8BhppcTQo8DIK46LSg_7[7]; NI T_HZdw8BhppcTQo8DIK46LSg_9; static char* NIM_CONST T_HZdw8BhppcTQo8DIK46LSg_8[7] = { "poEchoCmd", "poUsePath", "poEvalCommand", "poStdErrToStdOut", "poParentStreams", "poInteractive", "poDemon"}; static TNimNode* T_HZdw8BhppcTQo8DIK46LSg_15[2]; static TNimNode T_HZdw8BhppcTQo8DIK46LSg_0[20]; NTI_NHqciQYh8G1aN2n273mmYw.size = sizeof(Processobj_NHqciQYh8G1aN2n273mmYw); NTI_NHqciQYh8G1aN2n273mmYw.kind = 17; NTI_NHqciQYh8G1aN2n273mmYw.base = (&NTI_13RNkKqUOX1TtorOUlKtqA); NTI_NHqciQYh8G1aN2n273mmYw.flags = 1; T_HZdw8BhppcTQo8DIK46LSg_6[0] = &T_HZdw8BhppcTQo8DIK46LSg_0[1]; T_HZdw8BhppcTQo8DIK46LSg_0[1].kind = 1; T_HZdw8BhppcTQo8DIK46LSg_0[1].offset = offsetof(Processobj_NHqciQYh8G1aN2n273mmYw, fprocesshandle); T_HZdw8BhppcTQo8DIK46LSg_0[1].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA); T_HZdw8BhppcTQo8DIK46LSg_0[1].name = "fProcessHandle"; T_HZdw8BhppcTQo8DIK46LSg_6[1] = &T_HZdw8BhppcTQo8DIK46LSg_0[2]; T_HZdw8BhppcTQo8DIK46LSg_0[2].kind = 1; T_HZdw8BhppcTQo8DIK46LSg_0[2].offset = offsetof(Processobj_NHqciQYh8G1aN2n273mmYw, inhandle); T_HZdw8BhppcTQo8DIK46LSg_0[2].typ = (&NTI_UtShRB9b1wZO9cvpdowm9cefA); T_HZdw8BhppcTQo8DIK46LSg_0[2].name = "inHandle"; T_HZdw8BhppcTQo8DIK46LSg_6[2] = &T_HZdw8BhppcTQo8DIK46LSg_0[3]; T_HZdw8BhppcTQo8DIK46LSg_0[3].kind = 1; T_HZdw8BhppcTQo8DIK46LSg_0[3].offset = offsetof(Processobj_NHqciQYh8G1aN2n273mmYw, outhandle); T_HZdw8BhppcTQo8DIK46LSg_0[3].typ = (&NTI_UtShRB9b1wZO9cvpdowm9cefA); T_HZdw8BhppcTQo8DIK46LSg_0[3].name = "outHandle"; T_HZdw8BhppcTQo8DIK46LSg_6[3] = &T_HZdw8BhppcTQo8DIK46LSg_0[4]; T_HZdw8BhppcTQo8DIK46LSg_0[4].kind = 1; T_HZdw8BhppcTQo8DIK46LSg_0[4].offset = offsetof(Processobj_NHqciQYh8G1aN2n273mmYw, errhandle); T_HZdw8BhppcTQo8DIK46LSg_0[4].typ = (&NTI_UtShRB9b1wZO9cvpdowm9cefA); T_HZdw8BhppcTQo8DIK46LSg_0[4].name = "errHandle"; T_HZdw8BhppcTQo8DIK46LSg_6[4] = &T_HZdw8BhppcTQo8DIK46LSg_0[5]; T_HZdw8BhppcTQo8DIK46LSg_0[5].kind = 1; T_HZdw8BhppcTQo8DIK46LSg_0[5].offset = offsetof(Processobj_NHqciQYh8G1aN2n273mmYw, id); T_HZdw8BhppcTQo8DIK46LSg_0[5].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA); T_HZdw8BhppcTQo8DIK46LSg_0[5].name = "id"; T_HZdw8BhppcTQo8DIK46LSg_6[5] = &T_HZdw8BhppcTQo8DIK46LSg_0[6]; T_HZdw8BhppcTQo8DIK46LSg_0[6].kind = 1; T_HZdw8BhppcTQo8DIK46LSg_0[6].offset = offsetof(Processobj_NHqciQYh8G1aN2n273mmYw, exitstatus); T_HZdw8BhppcTQo8DIK46LSg_0[6].typ = (&NTI_nlCscttRCss70IBTyuBqnA); T_HZdw8BhppcTQo8DIK46LSg_0[6].name = "exitStatus"; T_HZdw8BhppcTQo8DIK46LSg_6[6] = &T_HZdw8BhppcTQo8DIK46LSg_0[7]; NTI_bnU6W8LhTMnT4JaSWtGlSA.size = sizeof(Processoption_bnU6W8LhTMnT4JaSWtGlSA); NTI_bnU6W8LhTMnT4JaSWtGlSA.kind = 14; NTI_bnU6W8LhTMnT4JaSWtGlSA.base = 0; NTI_bnU6W8LhTMnT4JaSWtGlSA.flags = 3; for (T_HZdw8BhppcTQo8DIK46LSg_9 = 0; T_HZdw8BhppcTQo8DIK46LSg_9 < 7; T_HZdw8BhppcTQo8DIK46LSg_9++) { T_HZdw8BhppcTQo8DIK46LSg_0[T_HZdw8BhppcTQo8DIK46LSg_9+8].kind = 1; T_HZdw8BhppcTQo8DIK46LSg_0[T_HZdw8BhppcTQo8DIK46LSg_9+8].offset = T_HZdw8BhppcTQo8DIK46LSg_9; T_HZdw8BhppcTQo8DIK46LSg_0[T_HZdw8BhppcTQo8DIK46LSg_9+8].name = T_HZdw8BhppcTQo8DIK46LSg_8[T_HZdw8BhppcTQo8DIK46LSg_9]; T_HZdw8BhppcTQo8DIK46LSg_7[T_HZdw8BhppcTQo8DIK46LSg_9] = &T_HZdw8BhppcTQo8DIK46LSg_0[T_HZdw8BhppcTQo8DIK46LSg_9+8]; } T_HZdw8BhppcTQo8DIK46LSg_0[15].len = 7; T_HZdw8BhppcTQo8DIK46LSg_0[15].kind = 2; T_HZdw8BhppcTQo8DIK46LSg_0[15].sons = &T_HZdw8BhppcTQo8DIK46LSg_7[0]; NTI_bnU6W8LhTMnT4JaSWtGlSA.node = &T_HZdw8BhppcTQo8DIK46LSg_0[15]; NTI_HlmBYNr2gdAZMXOsuiSZ0A.size = sizeof(Processoption_bnU6W8LhTMnT4JaSWtGlSA_Set); NTI_HlmBYNr2gdAZMXOsuiSZ0A.kind = 19; NTI_HlmBYNr2gdAZMXOsuiSZ0A.base = (&NTI_bnU6W8LhTMnT4JaSWtGlSA); NTI_HlmBYNr2gdAZMXOsuiSZ0A.flags = 3; T_HZdw8BhppcTQo8DIK46LSg_0[16].len = 0; T_HZdw8BhppcTQo8DIK46LSg_0[16].kind = 0; NTI_HlmBYNr2gdAZMXOsuiSZ0A.node = &T_HZdw8BhppcTQo8DIK46LSg_0[16]; T_HZdw8BhppcTQo8DIK46LSg_0[7].kind = 1; T_HZdw8BhppcTQo8DIK46LSg_0[7].offset = offsetof(Processobj_NHqciQYh8G1aN2n273mmYw, options); T_HZdw8BhppcTQo8DIK46LSg_0[7].typ = (&NTI_HlmBYNr2gdAZMXOsuiSZ0A); T_HZdw8BhppcTQo8DIK46LSg_0[7].name = "options"; T_HZdw8BhppcTQo8DIK46LSg_0[0].len = 7; T_HZdw8BhppcTQo8DIK46LSg_0[0].kind = 2; T_HZdw8BhppcTQo8DIK46LSg_0[0].sons = &T_HZdw8BhppcTQo8DIK46LSg_6[0]; NTI_NHqciQYh8G1aN2n273mmYw.node = &T_HZdw8BhppcTQo8DIK46LSg_0[0]; NTI_Ryg5db24dBRIzTUa2BQTPg.size = sizeof(Processobj_NHqciQYh8G1aN2n273mmYw*); NTI_Ryg5db24dBRIzTUa2BQTPg.kind = 22; NTI_Ryg5db24dBRIzTUa2BQTPg.base = (&NTI_NHqciQYh8G1aN2n273mmYw); NTI_Ryg5db24dBRIzTUa2BQTPg.marker = Marker_TY_Ryg5db24dBRIzTUa2BQTPg; NTI_rXWfTqEOueKQF1Zr6U68Zw.size = sizeof(Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw); NTI_rXWfTqEOueKQF1Zr6U68Zw.kind = 17; NTI_rXWfTqEOueKQF1Zr6U68Zw.base = (&NTI_RShkcoDOPnoCVhtpN1hDPQ); NTI_rXWfTqEOueKQF1Zr6U68Zw.flags = 1; T_HZdw8BhppcTQo8DIK46LSg_15[0] = &T_HZdw8BhppcTQo8DIK46LSg_0[18]; T_HZdw8BhppcTQo8DIK46LSg_0[18].kind = 1; T_HZdw8BhppcTQo8DIK46LSg_0[18].offset = offsetof(Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw, handle); T_HZdw8BhppcTQo8DIK46LSg_0[18].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA); T_HZdw8BhppcTQo8DIK46LSg_0[18].name = "handle"; T_HZdw8BhppcTQo8DIK46LSg_15[1] = &T_HZdw8BhppcTQo8DIK46LSg_0[19]; T_HZdw8BhppcTQo8DIK46LSg_0[19].kind = 1; T_HZdw8BhppcTQo8DIK46LSg_0[19].offset = offsetof(Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw, attheend); T_HZdw8BhppcTQo8DIK46LSg_0[19].typ = (&NTI_VaVACK0bpYmqIQ0mKcHfQQ); T_HZdw8BhppcTQo8DIK46LSg_0[19].name = "atTheEnd"; T_HZdw8BhppcTQo8DIK46LSg_0[17].len = 2; T_HZdw8BhppcTQo8DIK46LSg_0[17].kind = 2; T_HZdw8BhppcTQo8DIK46LSg_0[17].sons = &T_HZdw8BhppcTQo8DIK46LSg_15[0]; NTI_rXWfTqEOueKQF1Zr6U68Zw.node = &T_HZdw8BhppcTQo8DIK46LSg_0[17]; NTI_809biO2nZKLCCWaUdwxpJnw.size = sizeof(Filehandlestream_rXWfTqEOueKQF1Zr6U68Zw*); NTI_809biO2nZKLCCWaUdwxpJnw.kind = 22; NTI_809biO2nZKLCCWaUdwxpJnw.base = (&NTI_rXWfTqEOueKQF1Zr6U68Zw); NTI_809biO2nZKLCCWaUdwxpJnw.marker = Marker_TY_809biO2nZKLCCWaUdwxpJnw; NTI_l0xXJxOLtcuhlSBHl64t5w.size = sizeof(TY_l0xXJxOLtcuhlSBHl64t5w*); NTI_l0xXJxOLtcuhlSBHl64t5w.kind = 24; NTI_l0xXJxOLtcuhlSBHl64t5w.base = (&NTI_Ryg5db24dBRIzTUa2BQTPg); NTI_l0xXJxOLtcuhlSBHl64t5w.marker = Marker_TY_l0xXJxOLtcuhlSBHl64t5w; }