/* Generated by Nim Compiler v0.16.0 */ /* (c) 2017 Andreas Rumpf */ /* The generated code is subject to the original license. */ #define NIM_INTBITS 64 #include "nimbase.h" #include #include #include #include #include #include #include #include #include #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 TNimObject TNimObject; typedef struct TNimType TNimType; typedef struct TNimNode TNimNode; typedef struct Streamobj_RShkcoDOPnoCVhtpN1hDPQ Streamobj_RShkcoDOPnoCVhtpN1hDPQ; typedef struct TY_sM4lkSb7zS6F7OVMvW9cffQ TY_sM4lkSb7zS6F7OVMvW9cffQ; 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 Exception Exception; typedef struct TSafePoint TSafePoint; typedef struct TY_4eQHGndY6XBYpFOH09apV8Q TY_4eQHGndY6XBYpFOH09apV8Q; typedef struct TY_UV3llMMYFckfui8YMBuUZA TY_UV3llMMYFckfui8YMBuUZA; typedef struct Startprocessdata_xgRnKnLIYRtnOkshMKhc9cA Startprocessdata_xgRnKnLIYRtnOkshMKhc9cA; typedef struct Filestreamobj_qoDM8xYRV40zbhS9acPNT9bw Filestreamobj_qoDM8xYRV40zbhS9acPNT9bw; typedef struct Valueerror_Gi06FkNeykJn7mrqRZYrkA Valueerror_Gi06FkNeykJn7mrqRZYrkA; typedef struct TY_l0xXJxOLtcuhlSBHl64t5w TY_l0xXJxOLtcuhlSBHl64t5w; 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; typedef int TY_SKEqGXcReU4NvbQlH779b5Q[2]; 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; int inhandle; int outhandle; int errhandle; Streamobj_RShkcoDOPnoCVhtpN1hDPQ* instream; Streamobj_RShkcoDOPnoCVhtpN1hDPQ* outstream; Streamobj_RShkcoDOPnoCVhtpN1hDPQ* errstream; pid_t 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; typedef NimStringDesc* TY_24KAM9afIUgUaqBaEBB6r9bg[3]; 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 NimStringDesc* TY_nHXaesL0DJZHyVS07ARPRA[1]; struct Exception { TNimObject Sup; Exception* parent; NCSTRING name; NimStringDesc* message; NimStringDesc* trace; }; typedef struct { N_NIMCALL_PTR(NIM_BOOL, ClPrc) (Exception* e0, void* ClEnv); void* ClEnv; } TY_KeeAOYBd84Ofsw6Y7LizaQ; struct TSafePoint { TSafePoint* prev; NI status; jmp_buf context; NIM_BOOL hasRaiseAction; TY_KeeAOYBd84Ofsw6Y7LizaQ raiseAction; }; typedef NU8 Stringtablemode_G9c4wVDFIzf0xHmQvxso9a9cQ; struct Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw { TNimObject Sup; NI counter; TY_4eQHGndY6XBYpFOH09apV8Q* data; Stringtablemode_G9c4wVDFIzf0xHmQvxso9a9cQ mode; }; struct TY_UV3llMMYFckfui8YMBuUZA { NimStringDesc* Field0; NimStringDesc* Field1; }; struct Startprocessdata_xgRnKnLIYRtnOkshMKhc9cA { NCSTRING syscommand; NCSTRING* sysargs; NCSTRING* sysenv; NCSTRING workingdir; TY_SKEqGXcReU4NvbQlH779b5Q pstdin; TY_SKEqGXcReU4NvbQlH779b5Q pstdout; TY_SKEqGXcReU4NvbQlH779b5Q pstderr; TY_SKEqGXcReU4NvbQlH779b5Q perrorpipe; NIM_BOOL optionpousepath; NIM_BOOL optionpoparentstreams; NIM_BOOL optionpostderrtostdout; }; typedef NimStringDesc* TY_Re75IspeoxXy2oCZHwcRrA[2]; typedef NU8 Filemode_fVUBHvW79bXUw1j55Oo9avSQ; struct Valueerror_Gi06FkNeykJn7mrqRZYrkA { Exception Sup; }; 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_22) (NI idx0); typedef NimStringDesc* TY_8ZvwQIddfpj2THRVPsFzIQ[1]; typedef N_CLOSURE_PTR(void, T_HZdw8BhppcTQo8DIK46LSg_24) (NI idx0, Processobj_NHqciQYh8G1aN2n273mmYw* p0); typedef N_CLOSURE_PTR(void, T_HZdw8BhppcTQo8DIK46LSg_25) (NI idx0); typedef N_CLOSURE_PTR(void, T_HZdw8BhppcTQo8DIK46LSg_26) (NI idx0, Processobj_NHqciQYh8G1aN2n273mmYw* p0); typedef N_CLOSURE_PTR(void, T_HZdw8BhppcTQo8DIK46LSg_27) (NI idx0); typedef N_CLOSURE_PTR(void, T_HZdw8BhppcTQo8DIK46LSg_28) (NI idx0, Processobj_NHqciQYh8G1aN2n273mmYw* p0); 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 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_9a8QARi5WsUggNU9bom7kzTQ[8]; struct Trunk_W0r8S0Y3UGke6T9bIUWnnuw { Trunk_W0r8S0Y3UGke6T9bIUWnnuw* next; NI key; TY_9a8QARi5WsUggNU9bom7kzTQ 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_9a8QARi5WsUggNU9bom7kzTQ bits; }; struct Filestreamobj_qoDM8xYRV40zbhS9acPNT9bw { Streamobj_RShkcoDOPnoCVhtpN1hDPQ Sup; FILE* f; }; struct Freecell_u6M5LHprqzkn9axr04yg9bGQ { Freecell_u6M5LHprqzkn9axr04yg9bGQ* next; NI zerofield; }; struct TY_sM4lkSb7zS6F7OVMvW9cffQ { TGenericSeq Sup; NimStringDesc* data[SEQ_DECL_SIZE]; }; 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*, nospquoteShellPosix)(NimStringDesc* s0); N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src0); N_NIMCALL(NIM_BOOL, allcharsinset_wVfr4F6j4mVzI8ggLoMVdw)(NimStringDesc* s0, TY_nmiMWKVIe46vacnhAFrQvw_Set theset0); static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0); static N_INLINE(void, copymem_E1xtACub5WcDa3vbrIXbwgsystem)(void* dest0, void* source0, NI size0); N_NIMCALL(NimStringDesc*, nsuReplaceStr)(NimStringDesc* s0, NimStringDesc* sub0, NimStringDesc* by0); N_NIMCALL(NimStringDesc*, rawNewString)(NI space0); N_NIMCALL(void, nimGCvisit)(void* d0, NI op0); static N_NIMCALL(void, Marker_TY_Ryg5db24dBRIzTUa2BQTPg)(void* p, NI op); N_NIMCALL(void*, newObj)(TNimType* typ0, NI size0); N_NOINLINE(void, raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA)(NI32 errorcode0, NimStringDesc* additionalinfo0); N_NIMCALL(NI32, oslasterror_pMOMIZAQaKFp1XoL58mjVg)(void); N_NIMCALL(void*, newSeq)(TNimType* typ0, NI len0); N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src0); static N_INLINE(void, nimGCunrefNoCycle)(void* p0); static N_INLINE(Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr0); static N_INLINE(void, rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0); N_NOINLINE(void, addzct_fCDI7oO1NNVXXURtxSzsRw)(Cellseq_Axo1XVm9aaQueTOldv8le5w* s0, Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0); N_NIMCALL(TGenericSeq*, incrSeqV2)(TGenericSeq* seq0, NI elemsize0); N_NIMCALL(NCSTRING*, alloccstringarray_TG6GWpa9cdnVJVGZxJaqBJg)(NimStringDesc** a0, NI a0Len0); static N_INLINE(void, pushSafePoint)(TSafePoint* s0); N_NIMCALL(NCSTRING*, envtocstringarray_5W8jibc9b9cn0LB5f6DkUbiA)(void); N_NIMCALL(void, getenvvarsc_xlXgIeBHBOL9cl4MJcFJ8xA)(void); N_NIMCALL(NI, nsuFindChar)(NimStringDesc* s0, NIM_CHAR sub0, NI start0); N_NIMCALL(NimStringDesc*, copyStrLast)(NimStringDesc* s0, NI start_WPWyPKk58Cr5a6XFFviMjg, NI last0); N_NIMCALL(NimStringDesc*, copyStrLast)(NimStringDesc* s0, NI first0, NI last0); N_NIMCALL(NimStringDesc*, copyStr)(NimStringDesc* s0, NI start0); N_NIMCALL(NimStringDesc*, copyStr)(NimStringDesc* s0, NI first0); N_NOCONV(void*, alloc0_sVm4rDImKK2ZDdylByayiA)(NI size0); N_NOCONV(void*, alloc_sVm4rDImKK2ZDdylByayiA_2)(NI size0); N_NIMCALL(NCSTRING*, envtocstringarray_powWbjMeev5megN9bWVjfTw)(Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw* t0); N_NIMCALL(NI, nstlen)(Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw* t0); N_NIMCALL(pid_t, startprocessauxfork_VwNkkMfMOAO9b1isfsqmrNQ)(Startprocessdata_xgRnKnLIYRtnOkshMKhc9cA* data0); N_CDECL(void, startprocessafterfork_kP8IoxkYQ0xKBWMKeIF3Cw)(Startprocessdata_xgRnKnLIYRtnOkshMKhc9cA* data0); N_NIMCALL(void, startprocessfail_1Q2da9a7NmGuR0Ogak2NKkw)(Startprocessdata_xgRnKnLIYRtnOkshMKhc9cA* data0); N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr0, NimStringDesc** a0, NI a0Len0); N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str0); static N_INLINE(void, popSafePoint)(void); N_NIMCALL(void, reraiseException)(void); N_NIMCALL(NimStringDesc*, nsuJoinSep)(NimStringDesc** a0, NI a0Len0, NimStringDesc* sep0); N_NIMCALL(void, dealloccstringarray_PrKbmufafP6J0HO6K4x3tQ)(NCSTRING* a0); N_NIMCALL(void, createstream_v8G6hIKoW7oNggVYf9a9c7dQ)(Streamobj_RShkcoDOPnoCVhtpN1hDPQ** stream0, int* handle0, Filemode_fVUBHvW79bXUw1j55Oo9avSQ filemode0); N_NIMCALL(NIM_BOOL, open_GRr4dBTChSldEteMxZDsuw)(FILE** f0, int filehandle0, Filemode_fVUBHvW79bXUw1j55Oo9avSQ mode0); N_NIMCALL(Filestreamobj_qoDM8xYRV40zbhS9acPNT9bw*, newfilestream_j9aOzR9a9bXMSUnTXiGmXXGqQ)(FILE* f0); N_NIMCALL(void, unsureAsgnRef)(void** dest0, void* src0); N_NIMCALL(NI64, ntDiffTime)(time_t a0, time_t b0); N_NIMCALL(NIM_BOOL, ntEqTime)(time_t a0, time_t b0); N_NIMCALL(void, raiseException)(Exception* e0, NCSTRING ename0); N_NIMCALL(NI, ncpicountProcessors)(void); static N_NIMCALL(void, Marker_TY_l0xXJxOLtcuhlSBHl64t5w)(void* p, NI op); 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(void, decref_MV4BBk6J1qu70IbBxwEn4wsystem)(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); N_NIMCALL(void, nospclose)(Processobj_NHqciQYh8G1aN2n273mmYw* p0); N_NIMCALL(void, close_4ed7IXme7lqtClFI7s2sTQ)(Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0); extern NCSTRING* environ; extern TNimType NTI_13RNkKqUOX1TtorOUlKtqA; TNimType NTI_NHqciQYh8G1aN2n273mmYw; extern TNimType NTI_UtShRB9b1wZO9cvpdowm9cefA; extern TNimType NTI_r3Wc5tOoxP8rz1DvGVTUvw; extern TNimType NTI_CHeEDdL3roTPu81s9cOH0Bw; extern TNimType NTI_nlCscttRCss70IBTyuBqnA; TNimType NTI_bnU6W8LhTMnT4JaSWtGlSA; TNimType NTI_HlmBYNr2gdAZMXOsuiSZ0A; TNimType NTI_Ryg5db24dBRIzTUa2BQTPg; extern TNimType NTI_sM4lkSb7zS6F7OVMvW9cffQ; extern Gcheap_1TRH1TZMaVZTnLNcIHuNFQ gch_IcYaEuuWivYAS86vFMTS3Q; extern TSafePoint* exchandler_rqLlY5bs9atDw2OXYqJEn5g; extern TY_sM4lkSb7zS6F7OVMvW9cffQ* environment_mlhK49b6YMgc9cgrcYkKq9a3g; extern TNimType NTI_yCEN9anxCD6mzBxGjuaRBdg; extern TNimType NTI_Gi06FkNeykJn7mrqRZYrkA; TNimType NTI_l0xXJxOLtcuhlSBHl64t5w; STRING_LITERAL(T_HZdw8BhppcTQo8DIK46LSg_2, "\'\'", 2); static NIM_CONST TY_nmiMWKVIe46vacnhAFrQvw_Set T_HZdw8BhppcTQo8DIK46LSg_3 = { 0x00, 0x00, 0x00, 0x00, 0x20, 0xE8, 0xFF, 0x27, 0xFF, 0xFF, 0xFF, 0x87, 0xFE, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; STRING_LITERAL(T_HZdw8BhppcTQo8DIK46LSg_4, "\'", 1); STRING_LITERAL(T_HZdw8BhppcTQo8DIK46LSg_5, "\'\"\'\"\'", 5); STRING_LITERAL(T_HZdw8BhppcTQo8DIK46LSg_10, "", 0); STRING_LITERAL(T_HZdw8BhppcTQo8DIK46LSg_11, "/bin/sh", 7); STRING_LITERAL(T_HZdw8BhppcTQo8DIK46LSg_12, "-c", 2); STRING_LITERAL(T_HZdw8BhppcTQo8DIK46LSg_14, "=", 1); STRING_LITERAL(T_HZdw8BhppcTQo8DIK46LSg_17, "Could not find command: \'$1\'. OS error: $2", 42); STRING_LITERAL(T_HZdw8BhppcTQo8DIK46LSg_18, " ", 1); STRING_LITERAL(T_HZdw8BhppcTQo8DIK46LSg_20, "System time was modified", 24); static NIM_CONST TY_kElEuvYkhDcTHhB3d89aMYA T_HZdw8BhppcTQo8DIK46LSg_21 = {NIM_NIL,NIM_NIL}; static NIM_CONST TY_SfW5itioRNR8yop8fOJeNg T_HZdw8BhppcTQo8DIK46LSg_23 = {NIM_NIL,NIM_NIL}; static N_INLINE(void, copymem_E1xtACub5WcDa3vbrIXbwgsystem)(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_E1xtACub5WcDa3vbrIXbwgsystem(((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*, nospquoteShellPosix)(NimStringDesc* s0) { NimStringDesc* result0; NIM_BOOL safe0; { result0 = (NimStringDesc*)0; { if (!((s0 ? s0->Sup.len : 0) == ((NI) 0))) goto LA3; result0 = copyString(((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_2)); goto BeforeRet; } LA3: ; safe0 = allcharsinset_wVfr4F6j4mVzI8ggLoMVdw(s0, T_HZdw8BhppcTQo8DIK46LSg_3); { if (!safe0) goto LA7; result0 = copyString(s0); goto BeforeRet; } goto LA5; LA7: ; { NimStringDesc* LOC10; NimStringDesc* LOC11; LOC10 = (NimStringDesc*)0; LOC11 = (NimStringDesc*)0; LOC11 = nsuReplaceStr(s0, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_4), ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_5)); LOC10 = rawNewString(LOC11->Sup.len + 2); appendString(LOC10, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_4)); appendString(LOC10, LOC11); appendString(LOC10, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_4)); result0 = LOC10; goto BeforeRet; } LA5: ; }BeforeRet: ; return result0; } N_NIMCALL(NimStringDesc*, nospquoteShell)(NimStringDesc* s0) { NimStringDesc* result0; { result0 = (NimStringDesc*)0; result0 = nospquoteShellPosix(s0); goto BeforeRet; }BeforeRet: ; return result0; } static N_NIMCALL(void, Marker_TY_Ryg5db24dBRIzTUa2BQTPg)(void* p, NI op) { Processobj_NHqciQYh8G1aN2n273mmYw* a; a = (Processobj_NHqciQYh8G1aN2n273mmYw*)p; nimGCvisit((void*)(*a).instream, op); nimGCvisit((void*)(*a).outstream, op); nimGCvisit((void*)(*a).errstream, op); } static N_INLINE(Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr0) { Cell_1zcF9cV8XIAtbN8h5HRUB8g* result0; result0 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0; result0 = ((Cell_1zcF9cV8XIAtbN8h5HRUB8g*) ((NI)((NU64)(((NI) (usr0))) - (NU64)(((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, nimGCunrefNoCycle)(void* p0) { Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0; c0 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(p0); { (*c0).refcount -= ((NI) 8); if (!((NU64)((*c0).refcount) < (NU64)(((NI) 8)))) goto LA3; rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system(c0); } LA3: ; } static N_INLINE(void, pushSafePoint)(TSafePoint* s0) { (*s0).hasRaiseAction = NIM_FALSE; (*s0).prev = exchandler_rqLlY5bs9atDw2OXYqJEn5g; exchandler_rqLlY5bs9atDw2OXYqJEn5g = s0; } N_NIMCALL(NCSTRING*, envtocstringarray_5W8jibc9b9cn0LB5f6DkUbiA)(void) { NCSTRING* result0; NI counter0; void* LOC5; NI i0; result0 = (NCSTRING*)0; counter0 = ((NI) 0); { NimStringDesc* key_iOJVgU8trGnsa5UUkfMQQw; NimStringDesc* val_l4zUk3N1L5q1rae9aqyrzlQ; key_iOJVgU8trGnsa5UUkfMQQw = (NimStringDesc*)0; val_l4zUk3N1L5q1rae9aqyrzlQ = (NimStringDesc*)0; getenvvarsc_xlXgIeBHBOL9cl4MJcFJ8xA(); { NI i_Hd1K6kr9c3wWUaggjQYrB2Q; NI HEX3Atmp_lM5WoIm2quV0NXTN8eNv9bA; NI res_LlS0hAmVKuX9cJ3vjpW57WA; i_Hd1K6kr9c3wWUaggjQYrB2Q = (NI)0; HEX3Atmp_lM5WoIm2quV0NXTN8eNv9bA = (NI)0; HEX3Atmp_lM5WoIm2quV0NXTN8eNv9bA = (environment_mlhK49b6YMgc9cgrcYkKq9a3g ? (environment_mlhK49b6YMgc9cgrcYkKq9a3g->Sup.len-1) : -1); res_LlS0hAmVKuX9cJ3vjpW57WA = ((NI) 0); { while (1) { NI p_N9bxSvtEv4BRE4OmLvrlZOw; if (!(res_LlS0hAmVKuX9cJ3vjpW57WA <= HEX3Atmp_lM5WoIm2quV0NXTN8eNv9bA)) goto LA4; i_Hd1K6kr9c3wWUaggjQYrB2Q = res_LlS0hAmVKuX9cJ3vjpW57WA; p_N9bxSvtEv4BRE4OmLvrlZOw = nsuFindChar(environment_mlhK49b6YMgc9cgrcYkKq9a3g->data[i_Hd1K6kr9c3wWUaggjQYrB2Q], 61, ((NI) 0)); key_iOJVgU8trGnsa5UUkfMQQw = copyStrLast(environment_mlhK49b6YMgc9cgrcYkKq9a3g->data[i_Hd1K6kr9c3wWUaggjQYrB2Q], ((NI) 0), (NI)(p_N9bxSvtEv4BRE4OmLvrlZOw - ((NI) 1))); val_l4zUk3N1L5q1rae9aqyrzlQ = copyStr(environment_mlhK49b6YMgc9cgrcYkKq9a3g->data[i_Hd1K6kr9c3wWUaggjQYrB2Q], (NI)(p_N9bxSvtEv4BRE4OmLvrlZOw + ((NI) 1))); counter0 += ((NI) 1); res_LlS0hAmVKuX9cJ3vjpW57WA += ((NI) 1); } LA4: ; } } } LOC5 = (void*)0; LOC5 = alloc0_sVm4rDImKK2ZDdylByayiA(((NI) ((NI)((NI)(counter0 + ((NI) 1)) * ((NI) 8))))); result0 = ((NCSTRING*) (LOC5)); i0 = ((NI) 0); { NimStringDesc* key_iOJVgU8trGnsa5UUkfMQQw_2; NimStringDesc* val_l4zUk3N1L5q1rae9aqyrzlQ_2; key_iOJVgU8trGnsa5UUkfMQQw_2 = (NimStringDesc*)0; val_l4zUk3N1L5q1rae9aqyrzlQ_2 = (NimStringDesc*)0; getenvvarsc_xlXgIeBHBOL9cl4MJcFJ8xA(); { NI i_Hd1K6kr9c3wWUaggjQYrB2Q_2; NI HEX3Atmp_lM5WoIm2quV0NXTN8eNv9bA_2; NI res_LlS0hAmVKuX9cJ3vjpW57WA_2; i_Hd1K6kr9c3wWUaggjQYrB2Q_2 = (NI)0; HEX3Atmp_lM5WoIm2quV0NXTN8eNv9bA_2 = (NI)0; HEX3Atmp_lM5WoIm2quV0NXTN8eNv9bA_2 = (environment_mlhK49b6YMgc9cgrcYkKq9a3g ? (environment_mlhK49b6YMgc9cgrcYkKq9a3g->Sup.len-1) : -1); res_LlS0hAmVKuX9cJ3vjpW57WA_2 = ((NI) 0); { while (1) { NI p_N9bxSvtEv4BRE4OmLvrlZOw_2; NimStringDesc* x0; NimStringDesc* LOC10; void* LOC11; if (!(res_LlS0hAmVKuX9cJ3vjpW57WA_2 <= HEX3Atmp_lM5WoIm2quV0NXTN8eNv9bA_2)) goto LA9; i_Hd1K6kr9c3wWUaggjQYrB2Q_2 = res_LlS0hAmVKuX9cJ3vjpW57WA_2; p_N9bxSvtEv4BRE4OmLvrlZOw_2 = nsuFindChar(environment_mlhK49b6YMgc9cgrcYkKq9a3g->data[i_Hd1K6kr9c3wWUaggjQYrB2Q_2], 61, ((NI) 0)); key_iOJVgU8trGnsa5UUkfMQQw_2 = copyStrLast(environment_mlhK49b6YMgc9cgrcYkKq9a3g->data[i_Hd1K6kr9c3wWUaggjQYrB2Q_2], ((NI) 0), (NI)(p_N9bxSvtEv4BRE4OmLvrlZOw_2 - ((NI) 1))); val_l4zUk3N1L5q1rae9aqyrzlQ_2 = copyStr(environment_mlhK49b6YMgc9cgrcYkKq9a3g->data[i_Hd1K6kr9c3wWUaggjQYrB2Q_2], (NI)(p_N9bxSvtEv4BRE4OmLvrlZOw_2 + ((NI) 1))); LOC10 = (NimStringDesc*)0; LOC10 = rawNewString(key_iOJVgU8trGnsa5UUkfMQQw_2->Sup.len + val_l4zUk3N1L5q1rae9aqyrzlQ_2->Sup.len + 1); appendString(LOC10, key_iOJVgU8trGnsa5UUkfMQQw_2); appendString(LOC10, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_14)); appendString(LOC10, val_l4zUk3N1L5q1rae9aqyrzlQ_2); x0 = LOC10; LOC11 = (void*)0; LOC11 = alloc_sVm4rDImKK2ZDdylByayiA_2(((NI) ((NI)((x0 ? x0->Sup.len : 0) + ((NI) 1))))); result0[(i0)- 0] = ((NCSTRING) (LOC11)); copymem_E1xtACub5WcDa3vbrIXbwgsystem(((void*) (result0[(i0)- 0])), ((void*) ((&x0->data[((NI) 0)]))), ((NI) ((NI)((x0 ? x0->Sup.len : 0) + ((NI) 1))))); i0 += ((NI) 1); res_LlS0hAmVKuX9cJ3vjpW57WA_2 += ((NI) 1); } LA9: ; } } } return result0; } N_NIMCALL(NCSTRING*, envtocstringarray_powWbjMeev5megN9bWVjfTw)(Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw* t0) { NCSTRING* result0; NI LOC1; void* LOC2; NI i0; result0 = (NCSTRING*)0; LOC1 = (NI)0; LOC1 = nstlen(t0); LOC2 = (void*)0; LOC2 = alloc0_sVm4rDImKK2ZDdylByayiA(((NI) ((NI)((NI)(LOC1 + ((NI) 1)) * ((NI) 8))))); result0 = ((NCSTRING*) (LOC2)); i0 = ((NI) 0); { NimStringDesc* key_iOJVgU8trGnsa5UUkfMQQw_3; NimStringDesc* val_l4zUk3N1L5q1rae9aqyrzlQ_3; key_iOJVgU8trGnsa5UUkfMQQw_3 = (NimStringDesc*)0; val_l4zUk3N1L5q1rae9aqyrzlQ_3 = (NimStringDesc*)0; { NI h_RYkURB9cgLOUJ9bLZxFIW31A; NI HEX3Atmp_lM5WoIm2quV0NXTN8eNv9bA_3; NI res_LlS0hAmVKuX9cJ3vjpW57WA_3; h_RYkURB9cgLOUJ9bLZxFIW31A = (NI)0; HEX3Atmp_lM5WoIm2quV0NXTN8eNv9bA_3 = (NI)0; HEX3Atmp_lM5WoIm2quV0NXTN8eNv9bA_3 = ((*t0).data ? ((*t0).data->Sup.len-1) : -1); res_LlS0hAmVKuX9cJ3vjpW57WA_3 = ((NI) 0); { while (1) { if (!(res_LlS0hAmVKuX9cJ3vjpW57WA_3 <= HEX3Atmp_lM5WoIm2quV0NXTN8eNv9bA_3)) goto LA6; h_RYkURB9cgLOUJ9bLZxFIW31A = res_LlS0hAmVKuX9cJ3vjpW57WA_3; { NimStringDesc* x0; NimStringDesc* LOC11; void* LOC12; if (!!(((*t0).data->data[h_RYkURB9cgLOUJ9bLZxFIW31A].Field0 == 0))) goto LA9; key_iOJVgU8trGnsa5UUkfMQQw_3 = (*t0).data->data[h_RYkURB9cgLOUJ9bLZxFIW31A].Field0; val_l4zUk3N1L5q1rae9aqyrzlQ_3 = (*t0).data->data[h_RYkURB9cgLOUJ9bLZxFIW31A].Field1; LOC11 = (NimStringDesc*)0; LOC11 = rawNewString(key_iOJVgU8trGnsa5UUkfMQQw_3->Sup.len + val_l4zUk3N1L5q1rae9aqyrzlQ_3->Sup.len + 1); appendString(LOC11, key_iOJVgU8trGnsa5UUkfMQQw_3); appendString(LOC11, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_14)); appendString(LOC11, val_l4zUk3N1L5q1rae9aqyrzlQ_3); x0 = LOC11; LOC12 = (void*)0; LOC12 = alloc_sVm4rDImKK2ZDdylByayiA_2(((NI) ((NI)((x0 ? x0->Sup.len : 0) + ((NI) 1))))); result0[(i0)- 0] = ((NCSTRING) (LOC12)); copymem_E1xtACub5WcDa3vbrIXbwgsystem(((void*) (result0[(i0)- 0])), ((void*) ((&x0->data[((NI) 0)]))), ((NI) ((NI)((x0 ? x0->Sup.len : 0) + ((NI) 1))))); i0 += ((NI) 1); } LA9: ; res_LlS0hAmVKuX9cJ3vjpW57WA_3 += ((NI) 1); } LA6: ; } } } return result0; } N_NIMCALL(void, startprocessfail_1Q2da9a7NmGuR0Ogak2NKkw)(Startprocessdata_xgRnKnLIYRtnOkshMKhc9cA* data0) { int error0; NI LOC1; error0 = errno; LOC1 = (NI)0; LOC1 = write((*data0).perrorpipe[(((NI) 1))- 0], ((void*) ((&error0))), ((NI) 4)); _exit(((NI) 1)); } N_CDECL(void, startprocessafterfork_kP8IoxkYQ0xKBWMKeIF3Cw)(Startprocessdata_xgRnKnLIYRtnOkshMKhc9cA* data0) { int LOC42; int LOC43; { int LOC5; int LOC11; int LOC17; if (!!((*data0).optionpoparentstreams)) goto LA3; LOC5 = (int)0; LOC5 = close((*data0).pstdin[(((NI) 1))- 0]); { int LOC8; LOC8 = (int)0; LOC8 = dup2((*data0).pstdin[(((NI) 0))- 0], ((int) 0)); if (!(LOC8 < ((NI32) 0))) goto LA9; startprocessfail_1Q2da9a7NmGuR0Ogak2NKkw(data0); } LA9: ; LOC11 = (int)0; LOC11 = close((*data0).pstdout[(((NI) 0))- 0]); { int LOC14; LOC14 = (int)0; LOC14 = dup2((*data0).pstdout[(((NI) 1))- 0], ((int) 1)); if (!(LOC14 < ((NI32) 0))) goto LA15; startprocessfail_1Q2da9a7NmGuR0Ogak2NKkw(data0); } LA15: ; LOC17 = (int)0; LOC17 = close((*data0).pstderr[(((NI) 0))- 0]); { if (!(*data0).optionpostderrtostdout) goto LA20; { int LOC24; LOC24 = (int)0; LOC24 = dup2((*data0).pstdout[(((NI) 1))- 0], ((int) 2)); if (!(LOC24 < ((NI32) 0))) goto LA25; startprocessfail_1Q2da9a7NmGuR0Ogak2NKkw(data0); } LA25: ; } goto LA18; LA20: ; { { int LOC30; LOC30 = (int)0; LOC30 = dup2((*data0).pstderr[(((NI) 1))- 0], ((int) 2)); if (!(LOC30 < ((NI32) 0))) goto LA31; startprocessfail_1Q2da9a7NmGuR0Ogak2NKkw(data0); } LA31: ; } LA18: ; } LA3: ; { if (!(((NI) 0) < ((*data0).workingdir ? strlen((*data0).workingdir) : 0))) goto LA35; { int LOC39; LOC39 = (int)0; LOC39 = chdir((*data0).workingdir); if (!(LOC39 < ((NI32) 0))) goto LA40; startprocessfail_1Q2da9a7NmGuR0Ogak2NKkw(data0); } LA40: ; } LA35: ; LOC42 = (int)0; LOC42 = close((*data0).perrorpipe[(((NI) 0))- 0]); LOC43 = (int)0; LOC43 = fcntl((*data0).perrorpipe[(((NI) 1))- 0], F_SETFD, FD_CLOEXEC); { int LOC48; if (!(*data0).optionpousepath) goto LA46; environ = (*data0).sysenv; LOC48 = (int)0; LOC48 = execvp((*data0).syscommand, (*data0).sysargs); } goto LA44; LA46: ; { int LOC50; LOC50 = (int)0; LOC50 = execve((*data0).syscommand, (*data0).sysargs, (*data0).sysenv); } LA44: ; startprocessfail_1Q2da9a7NmGuR0Ogak2NKkw(data0); } static N_INLINE(void, popSafePoint)(void) { exchandler_rqLlY5bs9atDw2OXYqJEn5g = (*exchandler_rqLlY5bs9atDw2OXYqJEn5g).prev; } N_NIMCALL(pid_t, startprocessauxfork_VwNkkMfMOAO9b1isfsqmrNQ)(Startprocessdata_xgRnKnLIYRtnOkshMKhc9cA* data0) { pid_t volatile result0; TSafePoint T_HZdw8BhppcTQo8DIK46LSg_16; { result0 = (pid_t)0; { int LOC3; NI32 LOC6; LOC3 = (int)0; LOC3 = pipe((*data0).perrorpipe); if (!!((LOC3 == ((NI32) 0)))) goto LA4; LOC6 = (NI32)0; LOC6 = oslasterror_pMOMIZAQaKFp1XoL58mjVg(); raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC6, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_10)); } LA4: ; pushSafePoint(&T_HZdw8BhppcTQo8DIK46LSg_16); T_HZdw8BhppcTQo8DIK46LSg_16.status = setjmp(T_HZdw8BhppcTQo8DIK46LSg_16.context); if (T_HZdw8BhppcTQo8DIK46LSg_16.status == 0) { pid_t volatile pid0; Startprocessdata_xgRnKnLIYRtnOkshMKhc9cA datacopy0; int LOC12; int error0; NI sizeread0; int LOC26; pid0 = (pid_t)0; datacopy0 = (*data0); pid0 = fork(); { if (!(pid0 == ((NI) 0))) goto LA10; startprocessafterfork_kP8IoxkYQ0xKBWMKeIF3Cw((&datacopy0)); _exit(((NI) 1)); } LA10: ; LOC12 = (int)0; LOC12 = close((*data0).perrorpipe[(((NI) 1))- 0]); { NI32 LOC17; if (!(pid0 < ((NI) 0))) goto LA15; LOC17 = (NI32)0; LOC17 = oslasterror_pMOMIZAQaKFp1XoL58mjVg(); raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC17, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_10)); } LA15: ; error0 = (int)0; sizeread0 = read((*data0).perrorpipe[(((NI) 0))- 0], ((void*) ((&error0))), ((NI) 4)); { NI32 LOC22; TY_Re75IspeoxXy2oCZHwcRrA LOC23; NCSTRING LOC24; NimStringDesc* LOC25; if (!(sizeread0 == ((NI) 4))) goto LA20; LOC22 = (NI32)0; LOC22 = oslasterror_pMOMIZAQaKFp1XoL58mjVg(); memset((void*)LOC23, 0, sizeof(LOC23)); LOC23[0] = cstrToNimstr((*data0).syscommand); LOC24 = (NCSTRING)0; LOC24 = strerror(error0); LOC23[1] = cstrToNimstr(LOC24); LOC25 = (NimStringDesc*)0; LOC25 = nsuFormatOpenArray(((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_17), LOC23, 2); raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC22, LOC25); } LA20: ; result0 = pid0; popSafePoint(); LOC26 = (int)0; LOC26 = close((*data0).perrorpipe[(((NI) 0))- 0]); goto BeforeRet; popSafePoint(); } else { popSafePoint(); } { int LOC29; LOC29 = (int)0; LOC29 = close((*data0).perrorpipe[(((NI) 0))- 0]); } if (T_HZdw8BhppcTQo8DIK46LSg_16.status != 0) reraiseException(); }BeforeRet: ; return result0; } N_NIMCALL(Processobj_NHqciQYh8G1aN2n273mmYw*, nospstartProcess)(NimStringDesc* command0, NimStringDesc* workingdir0, NimStringDesc** args0, NI args0Len0, Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw* env0, Processoption_bnU6W8LhTMnT4JaSWtGlSA_Set options0) { Processobj_NHqciQYh8G1aN2n273mmYw* result0; TY_SKEqGXcReU4NvbQlH779b5Q pstdin0; TY_SKEqGXcReU4NvbQlH779b5Q pstdout0; TY_SKEqGXcReU4NvbQlH779b5Q pstderr0; NimStringDesc* syscommand0; TY_sM4lkSb7zS6F7OVMvW9cffQ* sysargsraw0; pid_t volatile pid0; NCSTRING* sysargs0; TSafePoint T_HZdw8BhppcTQo8DIK46LSg_13; result0 = (Processobj_NHqciQYh8G1aN2n273mmYw*)0; memset((void*)pstdin0, 0, sizeof(pstdin0)); memset((void*)pstdout0, 0, sizeof(pstdout0)); memset((void*)pstderr0, 0, sizeof(pstderr0)); result0 = (Processobj_NHqciQYh8G1aN2n273mmYw*) newObj((&NTI_Ryg5db24dBRIzTUa2BQTPg), sizeof(Processobj_NHqciQYh8G1aN2n273mmYw)); (*result0).Sup.m_type = (&NTI_NHqciQYh8G1aN2n273mmYw); (*result0).options = options0; (*result0).exitstatus = ((int) -3); { if (!!(((options0 &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 4))&7U)))!=0))) goto LA3; { NIM_BOOL LOC7; NIM_BOOL LOC8; int LOC9; int LOC11; int LOC13; NI32 LOC16; LOC7 = (NIM_BOOL)0; LOC8 = (NIM_BOOL)0; LOC9 = (int)0; LOC9 = pipe(pstdin0); LOC8 = !((LOC9 == ((NI32) 0))); if (LOC8) goto LA10; LOC11 = (int)0; LOC11 = pipe(pstdout0); LOC8 = !((LOC11 == ((NI32) 0))); LA10: ; LOC7 = LOC8; if (LOC7) goto LA12; LOC13 = (int)0; LOC13 = pipe(pstderr0); LOC7 = !((LOC13 == ((NI32) 0))); LA12: ; if (!LOC7) goto LA14; LOC16 = (NI32)0; LOC16 = oslasterror_pMOMIZAQaKFp1XoL58mjVg(); raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC16, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_10)); } LA14: ; } LA3: ; syscommand0 = (NimStringDesc*)0; sysargsraw0 = (TY_sM4lkSb7zS6F7OVMvW9cffQ*)0; { TY_24KAM9afIUgUaqBaEBB6r9bg LOC21; NimStringDesc* LOC22; NimStringDesc* LOC23; NimStringDesc* LOC24; if (!((options0 &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 2))&7U)))!=0)) goto LA19; syscommand0 = copyString(((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_11)); sysargsraw0 = (TY_sM4lkSb7zS6F7OVMvW9cffQ*) newSeq((&NTI_sM4lkSb7zS6F7OVMvW9cffQ), 3); memset((void*)LOC21, 0, sizeof(LOC21)); LOC21[0] = copyString(syscommand0); LOC21[1] = copyString(((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_12)); LOC21[2] = copyString(command0); LOC22 = (NimStringDesc*)0; LOC22 = sysargsraw0->data[0]; sysargsraw0->data[0] = copyStringRC1(LOC21[0]); if (LOC22) nimGCunrefNoCycle(LOC22); LOC23 = (NimStringDesc*)0; LOC23 = sysargsraw0->data[1]; sysargsraw0->data[1] = copyStringRC1(LOC21[1]); if (LOC23) nimGCunrefNoCycle(LOC23); LOC24 = (NimStringDesc*)0; LOC24 = sysargsraw0->data[2]; sysargsraw0->data[2] = copyStringRC1(LOC21[2]); if (LOC24) nimGCunrefNoCycle(LOC24); } goto LA17; LA19: ; { TY_nHXaesL0DJZHyVS07ARPRA LOC26; NimStringDesc* LOC27; syscommand0 = copyString(command0); sysargsraw0 = (TY_sM4lkSb7zS6F7OVMvW9cffQ*) newSeq((&NTI_sM4lkSb7zS6F7OVMvW9cffQ), 1); memset((void*)LOC26, 0, sizeof(LOC26)); LOC26[0] = copyString(command0); LOC27 = (NimStringDesc*)0; LOC27 = sysargsraw0->data[0]; sysargsraw0->data[0] = copyStringRC1(LOC26[0]); if (LOC27) nimGCunrefNoCycle(LOC27); { NimStringDesc* arg_RNTv4MTw28sHh9ciZ6XuVCw; NI i_whEmtY8wiAodgfe2BvUzRQ; arg_RNTv4MTw28sHh9ciZ6XuVCw = (NimStringDesc*)0; i_whEmtY8wiAodgfe2BvUzRQ = ((NI) 0); { while (1) { NimStringDesc* LOC31; if (!(i_whEmtY8wiAodgfe2BvUzRQ < args0Len0)) goto LA30; arg_RNTv4MTw28sHh9ciZ6XuVCw = args0[i_whEmtY8wiAodgfe2BvUzRQ]; sysargsraw0 = (TY_sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV2(&(sysargsraw0)->Sup, sizeof(NimStringDesc*)); LOC31 = (NimStringDesc*)0; LOC31 = sysargsraw0->data[sysargsraw0->Sup.len]; sysargsraw0->data[sysargsraw0->Sup.len] = copyStringRC1(arg_RNTv4MTw28sHh9ciZ6XuVCw); if (LOC31) nimGCunrefNoCycle(LOC31); ++sysargsraw0->Sup.len; i_whEmtY8wiAodgfe2BvUzRQ += ((NI) 1); } LA30: ; } } } LA17: ; pid0 = (pid_t)0; sysargs0 = alloccstringarray_TG6GWpa9cdnVJVGZxJaqBJg(sysargsraw0->data, sysargsraw0->Sup.len); pushSafePoint(&T_HZdw8BhppcTQo8DIK46LSg_13); T_HZdw8BhppcTQo8DIK46LSg_13.status = setjmp(T_HZdw8BhppcTQo8DIK46LSg_13.context); if (T_HZdw8BhppcTQo8DIK46LSg_13.status == 0) { NCSTRING* sysenv0; TSafePoint T_HZdw8BhppcTQo8DIK46LSg_15; { if (!(env0 == NIM_NIL)) goto LA35; sysenv0 = envtocstringarray_5W8jibc9b9cn0LB5f6DkUbiA(); } goto LA33; LA35: ; { sysenv0 = envtocstringarray_powWbjMeev5megN9bWVjfTw(env0); } LA33: ; pushSafePoint(&T_HZdw8BhppcTQo8DIK46LSg_15); T_HZdw8BhppcTQo8DIK46LSg_15.status = setjmp(T_HZdw8BhppcTQo8DIK46LSg_15.context); if (T_HZdw8BhppcTQo8DIK46LSg_15.status == 0) { Startprocessdata_xgRnKnLIYRtnOkshMKhc9cA data0; memset((void*)(&data0), 0, sizeof(data0)); data0.syscommand = syscommand0->data; data0.sysargs = sysargs0; data0.sysenv = sysenv0; memcpy((void*)data0.pstdin, (NIM_CONST void*)pstdin0, sizeof(TY_SKEqGXcReU4NvbQlH779b5Q)); memcpy((void*)data0.pstdout, (NIM_CONST void*)pstdout0, sizeof(TY_SKEqGXcReU4NvbQlH779b5Q)); memcpy((void*)data0.pstderr, (NIM_CONST void*)pstderr0, sizeof(TY_SKEqGXcReU4NvbQlH779b5Q)); data0.optionpoparentstreams = ((options0 &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 4))&7U)))!=0); data0.optionpousepath = ((options0 &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 1))&7U)))!=0); data0.optionpostderrtostdout = ((options0 &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 3))&7U)))!=0); data0.workingdir = workingdir0->data; pid0 = startprocessauxfork_VwNkkMfMOAO9b1isfsqmrNQ((&data0)); { NimStringDesc* LOC43; if (!((options0 &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 0))&7U)))!=0)) goto LA41; LOC43 = (NimStringDesc*)0; LOC43 = nsuJoinSep(args0, args0Len0, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_18)); printf("%s%s%s\012", command0? (command0)->data:"nil", ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_18)? (((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_18))->data:"nil", LOC43? (LOC43)->data:"nil"); fflush(stdout); } LA41: ; (*result0).id = pid0; { if (!((options0 &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 4))&7U)))!=0)) goto LA46; (*result0).inhandle = ((int) 0); (*result0).outhandle = ((int) 1); { if (!((options0 &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 3))&7U)))!=0)) goto LA50; (*result0).errhandle = (*result0).outhandle; } goto LA48; LA50: ; { (*result0).errhandle = ((int) 2); } LA48: ; } goto LA44; LA46: ; { int LOC60; int LOC61; int LOC62; (*result0).inhandle = pstdin0[(((NI) 1))- 0]; (*result0).outhandle = pstdout0[(((NI) 0))- 0]; { int LOC58; if (!((options0 &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 3))&7U)))!=0)) goto LA56; (*result0).errhandle = (*result0).outhandle; LOC58 = (int)0; LOC58 = close(pstderr0[(((NI) 0))- 0]); } goto LA54; LA56: ; { (*result0).errhandle = pstderr0[(((NI) 0))- 0]; } LA54: ; LOC60 = (int)0; LOC60 = close(pstderr0[(((NI) 1))- 0]); LOC61 = (int)0; LOC61 = close(pstdin0[(((NI) 0))- 0]); LOC62 = (int)0; LOC62 = close(pstdout0[(((NI) 1))- 0]); } LA44: ; popSafePoint(); } else { popSafePoint(); } { dealloccstringarray_PrKbmufafP6J0HO6K4x3tQ(sysenv0); } if (T_HZdw8BhppcTQo8DIK46LSg_15.status != 0) reraiseException(); popSafePoint(); } else { popSafePoint(); } { dealloccstringarray_PrKbmufafP6J0HO6K4x3tQ(sysargs0); } if (T_HZdw8BhppcTQo8DIK46LSg_13.status != 0) reraiseException(); return result0; } N_NIMCALL(void, createstream_v8G6hIKoW7oNggVYf9a9c7dQ)(Streamobj_RShkcoDOPnoCVhtpN1hDPQ** stream0, int* handle0, Filemode_fVUBHvW79bXUw1j55Oo9avSQ filemode0) { FILE* f0; Filestreamobj_qoDM8xYRV40zbhS9acPNT9bw* LOC7; f0 = (FILE*)0; { NIM_BOOL LOC3; NI32 LOC6; LOC3 = (NIM_BOOL)0; LOC3 = open_GRr4dBTChSldEteMxZDsuw(&f0, (*handle0), filemode0); if (!!(LOC3)) goto LA4; LOC6 = (NI32)0; LOC6 = oslasterror_pMOMIZAQaKFp1XoL58mjVg(); raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC6, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_10)); } LA4: ; LOC7 = (Filestreamobj_qoDM8xYRV40zbhS9acPNT9bw*)0; LOC7 = newfilestream_j9aOzR9a9bXMSUnTXiGmXXGqQ(f0); unsureAsgnRef((void**) (&(*stream0)), &LOC7->Sup); } N_NIMCALL(Streamobj_RShkcoDOPnoCVhtpN1hDPQ*, nospinputStream)(Processobj_NHqciQYh8G1aN2n273mmYw* p0) { Streamobj_RShkcoDOPnoCVhtpN1hDPQ* result0; { result0 = (Streamobj_RShkcoDOPnoCVhtpN1hDPQ*)0; { if (!((*p0).instream == NIM_NIL)) goto LA3; createstream_v8G6hIKoW7oNggVYf9a9c7dQ(&(*p0).instream, (&(*p0).inhandle), ((Filemode_fVUBHvW79bXUw1j55Oo9avSQ) 1)); } LA3: ; result0 = (*p0).instream; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(Streamobj_RShkcoDOPnoCVhtpN1hDPQ*, nospoutputStream)(Processobj_NHqciQYh8G1aN2n273mmYw* p0) { Streamobj_RShkcoDOPnoCVhtpN1hDPQ* result0; { result0 = (Streamobj_RShkcoDOPnoCVhtpN1hDPQ*)0; { if (!((*p0).outstream == NIM_NIL)) goto LA3; createstream_v8G6hIKoW7oNggVYf9a9c7dQ(&(*p0).outstream, (&(*p0).outhandle), ((Filemode_fVUBHvW79bXUw1j55Oo9avSQ) 0)); } LA3: ; result0 = (*p0).outstream; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(NI, nospwaitForExit)(Processobj_NHqciQYh8G1aN2n273mmYw* p0, NI timeout0) { NI result0; { result0 = (NI)0; { if (!!(((*p0).exitstatus == ((NI32) -3)))) goto LA3; result0 = (NI)((NU64)(((NI) ((*p0).exitstatus))) >> (NU64)(((NI) 8))); goto BeforeRet; } LA3: ; { int status0; if (!(timeout0 == ((NI) -1))) goto LA7; status0 = ((int) 1); { pid_t LOC11; NI32 LOC14; LOC11 = (pid_t)0; LOC11 = waitpid((*p0).id, (&status0), ((int) 0)); if (!(LOC11 < ((NI) 0))) goto LA12; LOC14 = (NI32)0; LOC14 = oslasterror_pMOMIZAQaKFp1XoL58mjVg(); raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC14, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_10)); } LA12: ; (*p0).exitstatus = status0; } goto LA5; LA7: ; { sigset_t nmask0; sigset_t omask0; siginfo_t sinfo0; struct timespec stspec0; struct timespec enspec0; struct timespec tmspec0; int LOC16; int LOC17; int LOC18; TSafePoint T_HZdw8BhppcTQo8DIK46LSg_19; memset((void*)(&nmask0), 0, sizeof(nmask0)); memset((void*)(&omask0), 0, sizeof(omask0)); memset((void*)(&sinfo0), 0, sizeof(sinfo0)); memset((void*)(&stspec0), 0, sizeof(stspec0)); memset((void*)(&enspec0), 0, sizeof(enspec0)); memset((void*)(&tmspec0), 0, sizeof(tmspec0)); LOC16 = (int)0; LOC16 = sigemptyset((&nmask0)); LOC17 = (int)0; LOC17 = sigemptyset((&omask0)); LOC18 = (int)0; LOC18 = sigaddset((&nmask0), SIGCHLD); { int LOC21; NI32 LOC24; LOC21 = (int)0; LOC21 = sigprocmask(SIG_BLOCK, (&nmask0), (&omask0)); if (!(LOC21 == ((NI32) -1))) goto LA22; LOC24 = (NI32)0; LOC24 = oslasterror_pMOMIZAQaKFp1XoL58mjVg(); raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC24, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_10)); } LA22: ; { if (!(((NI) 1000) <= timeout0)) goto LA27; tmspec0.tv_sec = (NI)(timeout0 / ((NI) 1000)); tmspec0.tv_nsec = (NI)((NI)((NU64)(timeout0) % (NU64)(((NI) 1000))) * ((NI) 1000000)); } goto LA25; LA27: ; { tmspec0.tv_sec = ((time_t) 0); tmspec0.tv_nsec = (NI)(timeout0 * ((NI) 1000000)); } LA25: ; pushSafePoint(&T_HZdw8BhppcTQo8DIK46LSg_19); T_HZdw8BhppcTQo8DIK46LSg_19.status = setjmp(T_HZdw8BhppcTQo8DIK46LSg_19.context); if (T_HZdw8BhppcTQo8DIK46LSg_19.status == 0) { { int LOC33; NI32 LOC36; LOC33 = (int)0; LOC33 = clock_gettime(((clockid_t) (CLOCK_REALTIME)), (&stspec0)); if (!(LOC33 == ((NI32) -1))) goto LA34; LOC36 = (NI32)0; LOC36 = oslasterror_pMOMIZAQaKFp1XoL58mjVg(); raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC36, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_10)); } LA34: ; { while (1) { int res0; res0 = sigtimedwait((&nmask0), (&sinfo0), (&tmspec0)); { if (!(res0 == SIGCHLD)) goto LA41; { int status0; if (!(sinfo0.si_pid == (*p0).id)) goto LA45; status0 = ((int) 1); { pid_t LOC49; NI32 LOC52; LOC49 = (pid_t)0; LOC49 = waitpid((*p0).id, (&status0), ((int) 0)); if (!(LOC49 < ((NI) 0))) goto LA50; LOC52 = (NI32)0; LOC52 = oslasterror_pMOMIZAQaKFp1XoL58mjVg(); raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC52, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_10)); } LA50: ; (*p0).exitstatus = status0; goto LA37; } goto LA43; LA45: ; { NI volatile diff_sGb9bPLVObt9cTEQdg2YqiAg; struct timespec b_pmssJaIJsW5GrSeqqFhLcA; NI64 LOC60; NI64 LOC73; { int LOC56; NI32 LOC59; LOC56 = (int)0; LOC56 = clock_gettime(((clockid_t) (CLOCK_REALTIME)), (&enspec0)); if (!(LOC56 == ((NI32) -1))) goto LA57; LOC59 = (NI32)0; LOC59 = oslasterror_pMOMIZAQaKFp1XoL58mjVg(); raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC59, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_10)); } LA57: ; diff_sGb9bPLVObt9cTEQdg2YqiAg = (NI)0; memset((void*)(&b_pmssJaIJsW5GrSeqqFhLcA), 0, sizeof(b_pmssJaIJsW5GrSeqqFhLcA)); b_pmssJaIJsW5GrSeqqFhLcA.tv_sec = enspec0.tv_sec; b_pmssJaIJsW5GrSeqqFhLcA.tv_nsec = enspec0.tv_nsec; LOC60 = (NI64)0; LOC60 = ntDiffTime(enspec0.tv_sec, stspec0.tv_sec); enspec0.tv_sec = ((time_t) (LOC60)); { if (!(stspec0.tv_nsec <= enspec0.tv_nsec)) goto LA63; enspec0.tv_nsec -= stspec0.tv_nsec; } goto LA61; LA63: ; { { NIM_BOOL LOC68; Valueerror_Gi06FkNeykJn7mrqRZYrkA* volatile e_CnnTBizt4erFnIvznHIRgg; NimStringDesc* LOC71; LOC68 = (NIM_BOOL)0; LOC68 = ntEqTime(enspec0.tv_sec, ((time_t) 0)); if (!LOC68) goto LA69; e_CnnTBizt4erFnIvznHIRgg = (Valueerror_Gi06FkNeykJn7mrqRZYrkA*)0; e_CnnTBizt4erFnIvznHIRgg = (Valueerror_Gi06FkNeykJn7mrqRZYrkA*) newObj((&NTI_yCEN9anxCD6mzBxGjuaRBdg), sizeof(Valueerror_Gi06FkNeykJn7mrqRZYrkA)); (*e_CnnTBizt4erFnIvznHIRgg).Sup.Sup.m_type = (&NTI_Gi06FkNeykJn7mrqRZYrkA); LOC71 = (NimStringDesc*)0; LOC71 = (*e_CnnTBizt4erFnIvznHIRgg).Sup.message; (*e_CnnTBizt4erFnIvznHIRgg).Sup.message = copyStringRC1(((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_20)); if (LOC71) nimGCunrefNoCycle(LOC71); raiseException((Exception*)e_CnnTBizt4erFnIvznHIRgg, "ValueError"); } goto LA66; LA69: ; { diff_sGb9bPLVObt9cTEQdg2YqiAg = (NI)(stspec0.tv_nsec - enspec0.tv_nsec); enspec0.tv_nsec = (NI)(((NI) 1000000000) - diff_sGb9bPLVObt9cTEQdg2YqiAg); } LA66: ; } LA61: ; LOC73 = (NI64)0; LOC73 = ntDiffTime(tmspec0.tv_sec, enspec0.tv_sec); tmspec0.tv_sec = ((time_t) (LOC73)); { if (!(enspec0.tv_nsec <= tmspec0.tv_nsec)) goto LA76; tmspec0.tv_nsec -= enspec0.tv_nsec; } goto LA74; LA76: ; { tmspec0.tv_sec = (NI)(tmspec0.tv_sec - ((NI) 1)); diff_sGb9bPLVObt9cTEQdg2YqiAg = (NI)(enspec0.tv_nsec - tmspec0.tv_nsec); tmspec0.tv_nsec = (NI)(((NI) 1000000000) - diff_sGb9bPLVObt9cTEQdg2YqiAg); } LA74: ; stspec0.tv_sec = b_pmssJaIJsW5GrSeqqFhLcA.tv_sec; stspec0.tv_nsec = b_pmssJaIJsW5GrSeqqFhLcA.tv_nsec; } LA43: ; } goto LA39; LA41: ; { NI32 err0; if (!(res0 < ((NI32) 0))) goto LA80; err0 = oslasterror_pMOMIZAQaKFp1XoL58mjVg(); { NI volatile diff_sGb9bPLVObt9cTEQdg2YqiAg_2; struct timespec b_pmssJaIJsW5GrSeqqFhLcA_2; NI64 LOC92; NI64 LOC105; if (!(err0 == EINTR)) goto LA84; { int LOC88; NI32 LOC91; LOC88 = (int)0; LOC88 = clock_gettime(((clockid_t) (CLOCK_REALTIME)), (&enspec0)); if (!(LOC88 == ((NI32) -1))) goto LA89; LOC91 = (NI32)0; LOC91 = oslasterror_pMOMIZAQaKFp1XoL58mjVg(); raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC91, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_10)); } LA89: ; diff_sGb9bPLVObt9cTEQdg2YqiAg_2 = (NI)0; memset((void*)(&b_pmssJaIJsW5GrSeqqFhLcA_2), 0, sizeof(b_pmssJaIJsW5GrSeqqFhLcA_2)); b_pmssJaIJsW5GrSeqqFhLcA_2.tv_sec = enspec0.tv_sec; b_pmssJaIJsW5GrSeqqFhLcA_2.tv_nsec = enspec0.tv_nsec; LOC92 = (NI64)0; LOC92 = ntDiffTime(enspec0.tv_sec, stspec0.tv_sec); enspec0.tv_sec = ((time_t) (LOC92)); { if (!(stspec0.tv_nsec <= enspec0.tv_nsec)) goto LA95; enspec0.tv_nsec -= stspec0.tv_nsec; } goto LA93; LA95: ; { { NIM_BOOL LOC100; Valueerror_Gi06FkNeykJn7mrqRZYrkA* volatile e_CnnTBizt4erFnIvznHIRgg_2; NimStringDesc* LOC103; LOC100 = (NIM_BOOL)0; LOC100 = ntEqTime(enspec0.tv_sec, ((time_t) 0)); if (!LOC100) goto LA101; e_CnnTBizt4erFnIvznHIRgg_2 = (Valueerror_Gi06FkNeykJn7mrqRZYrkA*)0; e_CnnTBizt4erFnIvznHIRgg_2 = (Valueerror_Gi06FkNeykJn7mrqRZYrkA*) newObj((&NTI_yCEN9anxCD6mzBxGjuaRBdg), sizeof(Valueerror_Gi06FkNeykJn7mrqRZYrkA)); (*e_CnnTBizt4erFnIvznHIRgg_2).Sup.Sup.m_type = (&NTI_Gi06FkNeykJn7mrqRZYrkA); LOC103 = (NimStringDesc*)0; LOC103 = (*e_CnnTBizt4erFnIvznHIRgg_2).Sup.message; (*e_CnnTBizt4erFnIvznHIRgg_2).Sup.message = copyStringRC1(((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_20)); if (LOC103) nimGCunrefNoCycle(LOC103); raiseException((Exception*)e_CnnTBizt4erFnIvznHIRgg_2, "ValueError"); } goto LA98; LA101: ; { diff_sGb9bPLVObt9cTEQdg2YqiAg_2 = (NI)(stspec0.tv_nsec - enspec0.tv_nsec); enspec0.tv_nsec = (NI)(((NI) 1000000000) - diff_sGb9bPLVObt9cTEQdg2YqiAg_2); } LA98: ; } LA93: ; LOC105 = (NI64)0; LOC105 = ntDiffTime(tmspec0.tv_sec, enspec0.tv_sec); tmspec0.tv_sec = ((time_t) (LOC105)); { if (!(enspec0.tv_nsec <= tmspec0.tv_nsec)) goto LA108; tmspec0.tv_nsec -= enspec0.tv_nsec; } goto LA106; LA108: ; { tmspec0.tv_sec = (NI)(tmspec0.tv_sec - ((NI) 1)); diff_sGb9bPLVObt9cTEQdg2YqiAg_2 = (NI)(enspec0.tv_nsec - tmspec0.tv_nsec); tmspec0.tv_nsec = (NI)(((NI) 1000000000) - diff_sGb9bPLVObt9cTEQdg2YqiAg_2); } LA106: ; stspec0.tv_sec = b_pmssJaIJsW5GrSeqqFhLcA_2.tv_sec; stspec0.tv_nsec = b_pmssJaIJsW5GrSeqqFhLcA_2.tv_nsec; } goto LA82; LA84: ; { int status0; if (!(err0 == EAGAIN)) goto LA112; { int LOC116; NI32 LOC119; LOC116 = (int)0; LOC116 = kill((*p0).id, SIGKILL); if (!(LOC116 == ((NI32) -1))) goto LA117; LOC119 = (NI32)0; LOC119 = oslasterror_pMOMIZAQaKFp1XoL58mjVg(); raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC119, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_10)); } LA117: ; status0 = ((int) 1); { pid_t LOC122; NI32 LOC125; LOC122 = (pid_t)0; LOC122 = waitpid((*p0).id, (&status0), ((int) 0)); if (!(LOC122 < ((NI) 0))) goto LA123; LOC125 = (NI32)0; LOC125 = oslasterror_pMOMIZAQaKFp1XoL58mjVg(); raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC125, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_10)); } LA123: ; (*p0).exitstatus = status0; goto LA37; } goto LA82; LA112: ; { raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(err0, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_10)); } LA82: ; } goto LA39; LA80: ; LA39: ; } } LA37: ; popSafePoint(); } else { popSafePoint(); } { { int LOC131; NI32 LOC134; LOC131 = (int)0; LOC131 = sigprocmask(SIG_UNBLOCK, (&nmask0), (&omask0)); if (!(LOC131 == ((NI32) -1))) goto LA132; LOC134 = (NI32)0; LOC134 = oslasterror_pMOMIZAQaKFp1XoL58mjVg(); raiseoserror_K9a7YBjj81Bse0N0Fg7MFIA(LOC134, ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_10)); } LA132: ; } if (T_HZdw8BhppcTQo8DIK46LSg_19.status != 0) reraiseException(); } LA5: ; result0 = (NI)((NU64)(((NI) ((*p0).exitstatus))) >> (NU64)(((NI) 8))); }BeforeRet: ; return result0; } N_NIMCALL(NI, nospexecCmd)(NimStringDesc* command0) { NI result0; int LOC1; result0 = (NI)0; LOC1 = (int)0; LOC1 = system(command0->data); result0 = ((NI) (LOC1)); return result0; } N_NIMCALL(NI, peekexitcode_nA0Z6VONmzXjruBL3YKtRw)(Processobj_NHqciQYh8G1aN2n273mmYw* p0) { NI result0; int status0; pid_t ret0; NIM_BOOL b0; { result0 = (NI)0; status0 = ((int) 1); { if (!!(((*p0).exitstatus == ((NI32) -3)))) goto LA3; result0 = (NI)((NU64)(((NI) ((*p0).exitstatus))) >> (NU64)(((NI) 8))); goto BeforeRet; } LA3: ; ret0 = waitpid((*p0).id, (&status0), WNOHANG); b0 = (ret0 == (*p0).id); { if (!b0) goto LA7; result0 = ((NI) -1); } LA7: ; { NIM_BOOL LOC11; LOC11 = (NIM_BOOL)0; LOC11 = WIFEXITED(status0); if (!LOC11) goto LA12; (*p0).exitstatus = status0; result0 = (NI)((NU64)(((NI) ((*p0).exitstatus))) >> (NU64)(((NI) 8))); } goto LA9; LA12: ; { result0 = ((NI) -1); } LA9: ; }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)((NU64)((*c0).refcount) + (NU64)(((NI) 8))); } static N_INLINE(void, decref_MV4BBk6J1qu70IbBxwEn4wsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) { { (*c0).refcount -= ((NI) 8); if (!((NU64)((*c0).refcount) < (NU64)(((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; NI ret0; int status0; { result0 = (NIM_BOOL)0; ret0 = (NI)0; status0 = ((int) 1); ret0 = waitpid((*p0).id, (&status0), WNOHANG); { if (!(ret0 == (*p0).id)) goto LA3; { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = WIFEXITED(status0); if (!LOC7) goto LA8; (*p0).exitstatus = status0; result0 = NIM_FALSE; goto BeforeRet; } goto LA5; LA8: ; { result0 = NIM_TRUE; goto BeforeRet; } LA5: ; } goto LA1; LA3: ; { if (!(ret0 == ((NI) 0))) goto LA12; result0 = NIM_TRUE; goto BeforeRet; } goto LA1; LA12: ; { result0 = NIM_FALSE; goto BeforeRet; } LA1: ; }BeforeRet: ; return result0; } N_NIMCALL(void, nospclose)(Processobj_NHqciQYh8G1aN2n273mmYw* p0) { { if (!!(((*p0).instream == NIM_NIL))) goto LA3; close_4ed7IXme7lqtClFI7s2sTQ((*p0).instream); } LA3: ; { if (!!(((*p0).outstream == NIM_NIL))) goto LA7; close_4ed7IXme7lqtClFI7s2sTQ((*p0).outstream); } LA7: ; { if (!!(((*p0).errstream == NIM_NIL))) goto LA11; close_4ed7IXme7lqtClFI7s2sTQ((*p0).errstream); } LA11: ; { int LOC17; int LOC18; int LOC19; if (!!((((*p0).options &(1U<<((NU)(((Processoption_bnU6W8LhTMnT4JaSWtGlSA) 4))&7U)))!=0))) goto LA15; LOC17 = (int)0; LOC17 = close((*p0).inhandle); LOC18 = (int)0; LOC18 = close((*p0).outhandle); LOC19 = (int)0; LOC19 = close((*p0).errhandle); } LA15: ; } N_NIMCALL(NI, nospexecProcesses)(NimStringDesc** cmds0, NI cmds0Len0, Processoption_bnU6W8LhTMnT4JaSWtGlSA_Set options_SOxRkpbUm0l9cOVKhpddsEw, NI n0, TY_kElEuvYkhDcTHhB3d89aMYA beforerunevent0, TY_SfW5itioRNR8yop8fOJeNg afterrunevent0) { NI result0; Processoption_bnU6W8LhTMnT4JaSWtGlSA_Set options0; result0 = (NI)0; options0 = (options_SOxRkpbUm0l9cOVKhpddsEw & ~ 16); { 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_21.ClPrc && beforerunevent0.ClEnv == T_HZdw8BhppcTQo8DIK46LSg_21.ClEnv))) goto LA10; beforerunevent0.ClEnv? beforerunevent0.ClPrc(i_IXYJmgb9b21Zawh7ZZyHDAA, beforerunevent0.ClEnv):((T_HZdw8BhppcTQo8DIK46LSg_22)(beforerunevent0.ClPrc))(i_IXYJmgb9b21Zawh7ZZyHDAA); } LA10: ; memset((void*)LOC12, 0, sizeof(LOC12)); asgnRef((void**) (&q0->data[i_IXYJmgb9b21Zawh7ZZyHDAA]), nospstartProcess(cmds0[i_IXYJmgb9b21Zawh7ZZyHDAA], ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_10), 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_23.ClPrc && afterrunevent0.ClEnv == T_HZdw8BhppcTQo8DIK46LSg_23.ClEnv))) goto LA26; afterrunevent0.ClEnv? afterrunevent0.ClPrc(r_7CDX8QyPfnTM0rb4p9bm9blg, q0->data[r_7CDX8QyPfnTM0rb4p9bm9blg], afterrunevent0.ClEnv):((T_HZdw8BhppcTQo8DIK46LSg_24)(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_21.ClPrc && beforerunevent0.ClEnv == T_HZdw8BhppcTQo8DIK46LSg_21.ClEnv))) goto LA34; beforerunevent0.ClEnv? beforerunevent0.ClPrc(i0, beforerunevent0.ClEnv):((T_HZdw8BhppcTQo8DIK46LSg_25)(beforerunevent0.ClPrc))(i0); } LA34: ; memset((void*)LOC36, 0, sizeof(LOC36)); asgnRef((void**) (&q0->data[r_7CDX8QyPfnTM0rb4p9bm9blg]), nospstartProcess(cmds0[i0], ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_10), 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_23.ClPrc && afterrunevent0.ClEnv == T_HZdw8BhppcTQo8DIK46LSg_23.ClEnv))) goto LA47; afterrunevent0.ClEnv? afterrunevent0.ClPrc(j_Qx3Y6Wjo6lf0L32X59altUg, q0->data[j_Qx3Y6Wjo6lf0L32X59altUg], afterrunevent0.ClEnv):((T_HZdw8BhppcTQo8DIK46LSg_26)(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_21.ClPrc && beforerunevent0.ClEnv == T_HZdw8BhppcTQo8DIK46LSg_21.ClEnv))) goto LA59; beforerunevent0.ClEnv? beforerunevent0.ClPrc(i_IXYJmgb9b21Zawh7ZZyHDAA_2, beforerunevent0.ClEnv):((T_HZdw8BhppcTQo8DIK46LSg_27)(beforerunevent0.ClPrc))(i_IXYJmgb9b21Zawh7ZZyHDAA_2); } LA59: ; memset((void*)LOC61, 0, sizeof(LOC61)); p0 = nospstartProcess(cmds0[i_IXYJmgb9b21Zawh7ZZyHDAA_2], ((NimStringDesc*) &T_HZdw8BhppcTQo8DIK46LSg_10), LOC61, 0, NIM_NIL, (options0 | 4)); LOC62 = (NI)0; LOC62 = nospwaitForExit(p0, ((NI) -1)); result0 = ((LOC62 >= result0) ? LOC62 : result0); { if (!!((afterrunevent0.ClPrc == T_HZdw8BhppcTQo8DIK46LSg_23.ClPrc && afterrunevent0.ClEnv == T_HZdw8BhppcTQo8DIK46LSg_23.ClEnv))) goto LA65; afterrunevent0.ClEnv? afterrunevent0.ClPrc(i_IXYJmgb9b21Zawh7ZZyHDAA_2, p0, afterrunevent0.ClEnv):((T_HZdw8BhppcTQo8DIK46LSg_28)(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[9]; 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_0[19]; NTI_NHqciQYh8G1aN2n273mmYw.size = sizeof(Processobj_NHqciQYh8G1aN2n273mmYw); NTI_NHqciQYh8G1aN2n273mmYw.kind = 17; NTI_NHqciQYh8G1aN2n273mmYw.base = (&NTI_13RNkKqUOX1TtorOUlKtqA); T_HZdw8BhppcTQo8DIK46LSg_6[0] = &T_HZdw8BhppcTQo8DIK46LSg_0[1]; T_HZdw8BhppcTQo8DIK46LSg_0[1].kind = 1; T_HZdw8BhppcTQo8DIK46LSg_0[1].offset = offsetof(Processobj_NHqciQYh8G1aN2n273mmYw, inhandle); T_HZdw8BhppcTQo8DIK46LSg_0[1].typ = (&NTI_UtShRB9b1wZO9cvpdowm9cefA); T_HZdw8BhppcTQo8DIK46LSg_0[1].name = "inHandle"; T_HZdw8BhppcTQo8DIK46LSg_6[1] = &T_HZdw8BhppcTQo8DIK46LSg_0[2]; T_HZdw8BhppcTQo8DIK46LSg_0[2].kind = 1; T_HZdw8BhppcTQo8DIK46LSg_0[2].offset = offsetof(Processobj_NHqciQYh8G1aN2n273mmYw, outhandle); T_HZdw8BhppcTQo8DIK46LSg_0[2].typ = (&NTI_UtShRB9b1wZO9cvpdowm9cefA); T_HZdw8BhppcTQo8DIK46LSg_0[2].name = "outHandle"; T_HZdw8BhppcTQo8DIK46LSg_6[2] = &T_HZdw8BhppcTQo8DIK46LSg_0[3]; T_HZdw8BhppcTQo8DIK46LSg_0[3].kind = 1; T_HZdw8BhppcTQo8DIK46LSg_0[3].offset = offsetof(Processobj_NHqciQYh8G1aN2n273mmYw, errhandle); T_HZdw8BhppcTQo8DIK46LSg_0[3].typ = (&NTI_UtShRB9b1wZO9cvpdowm9cefA); T_HZdw8BhppcTQo8DIK46LSg_0[3].name = "errHandle"; T_HZdw8BhppcTQo8DIK46LSg_6[3] = &T_HZdw8BhppcTQo8DIK46LSg_0[4]; T_HZdw8BhppcTQo8DIK46LSg_0[4].kind = 1; T_HZdw8BhppcTQo8DIK46LSg_0[4].offset = offsetof(Processobj_NHqciQYh8G1aN2n273mmYw, instream); T_HZdw8BhppcTQo8DIK46LSg_0[4].typ = (&NTI_r3Wc5tOoxP8rz1DvGVTUvw); T_HZdw8BhppcTQo8DIK46LSg_0[4].name = "inStream"; T_HZdw8BhppcTQo8DIK46LSg_6[4] = &T_HZdw8BhppcTQo8DIK46LSg_0[5]; T_HZdw8BhppcTQo8DIK46LSg_0[5].kind = 1; T_HZdw8BhppcTQo8DIK46LSg_0[5].offset = offsetof(Processobj_NHqciQYh8G1aN2n273mmYw, outstream); T_HZdw8BhppcTQo8DIK46LSg_0[5].typ = (&NTI_r3Wc5tOoxP8rz1DvGVTUvw); T_HZdw8BhppcTQo8DIK46LSg_0[5].name = "outStream"; T_HZdw8BhppcTQo8DIK46LSg_6[5] = &T_HZdw8BhppcTQo8DIK46LSg_0[6]; T_HZdw8BhppcTQo8DIK46LSg_0[6].kind = 1; T_HZdw8BhppcTQo8DIK46LSg_0[6].offset = offsetof(Processobj_NHqciQYh8G1aN2n273mmYw, errstream); T_HZdw8BhppcTQo8DIK46LSg_0[6].typ = (&NTI_r3Wc5tOoxP8rz1DvGVTUvw); T_HZdw8BhppcTQo8DIK46LSg_0[6].name = "errStream"; T_HZdw8BhppcTQo8DIK46LSg_6[6] = &T_HZdw8BhppcTQo8DIK46LSg_0[7]; T_HZdw8BhppcTQo8DIK46LSg_0[7].kind = 1; T_HZdw8BhppcTQo8DIK46LSg_0[7].offset = offsetof(Processobj_NHqciQYh8G1aN2n273mmYw, id); T_HZdw8BhppcTQo8DIK46LSg_0[7].typ = (&NTI_CHeEDdL3roTPu81s9cOH0Bw); T_HZdw8BhppcTQo8DIK46LSg_0[7].name = "id"; T_HZdw8BhppcTQo8DIK46LSg_6[7] = &T_HZdw8BhppcTQo8DIK46LSg_0[8]; T_HZdw8BhppcTQo8DIK46LSg_0[8].kind = 1; T_HZdw8BhppcTQo8DIK46LSg_0[8].offset = offsetof(Processobj_NHqciQYh8G1aN2n273mmYw, exitstatus); T_HZdw8BhppcTQo8DIK46LSg_0[8].typ = (&NTI_nlCscttRCss70IBTyuBqnA); T_HZdw8BhppcTQo8DIK46LSg_0[8].name = "exitStatus"; T_HZdw8BhppcTQo8DIK46LSg_6[8] = &T_HZdw8BhppcTQo8DIK46LSg_0[9]; 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+10].kind = 1; T_HZdw8BhppcTQo8DIK46LSg_0[T_HZdw8BhppcTQo8DIK46LSg_9+10].offset = T_HZdw8BhppcTQo8DIK46LSg_9; T_HZdw8BhppcTQo8DIK46LSg_0[T_HZdw8BhppcTQo8DIK46LSg_9+10].name = T_HZdw8BhppcTQo8DIK46LSg_8[T_HZdw8BhppcTQo8DIK46LSg_9]; T_HZdw8BhppcTQo8DIK46LSg_7[T_HZdw8BhppcTQo8DIK46LSg_9] = &T_HZdw8BhppcTQo8DIK46LSg_0[T_HZdw8BhppcTQo8DIK46LSg_9+10]; } T_HZdw8BhppcTQo8DIK46LSg_0[17].len = 7; T_HZdw8BhppcTQo8DIK46LSg_0[17].kind = 2; T_HZdw8BhppcTQo8DIK46LSg_0[17].sons = &T_HZdw8BhppcTQo8DIK46LSg_7[0]; NTI_bnU6W8LhTMnT4JaSWtGlSA.node = &T_HZdw8BhppcTQo8DIK46LSg_0[17]; NTI_HlmBYNr2gdAZMXOsuiSZ0A.size = sizeof(Processoption_bnU6W8LhTMnT4JaSWtGlSA_Set); NTI_HlmBYNr2gdAZMXOsuiSZ0A.kind = 19; NTI_HlmBYNr2gdAZMXOsuiSZ0A.base = (&NTI_bnU6W8LhTMnT4JaSWtGlSA); NTI_HlmBYNr2gdAZMXOsuiSZ0A.flags = 3; T_HZdw8BhppcTQo8DIK46LSg_0[18].len = 0; T_HZdw8BhppcTQo8DIK46LSg_0[18].kind = 0; NTI_HlmBYNr2gdAZMXOsuiSZ0A.node = &T_HZdw8BhppcTQo8DIK46LSg_0[18]; T_HZdw8BhppcTQo8DIK46LSg_0[9].kind = 1; T_HZdw8BhppcTQo8DIK46LSg_0[9].offset = offsetof(Processobj_NHqciQYh8G1aN2n273mmYw, options); T_HZdw8BhppcTQo8DIK46LSg_0[9].typ = (&NTI_HlmBYNr2gdAZMXOsuiSZ0A); T_HZdw8BhppcTQo8DIK46LSg_0[9].name = "options"; T_HZdw8BhppcTQo8DIK46LSg_0[0].len = 9; 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_l0xXJxOLtcuhlSBHl64t5w.size = sizeof(TY_l0xXJxOLtcuhlSBHl64t5w*); NTI_l0xXJxOLtcuhlSBHl64t5w.kind = 24; NTI_l0xXJxOLtcuhlSBHl64t5w.base = (&NTI_Ryg5db24dBRIzTUa2BQTPg); NTI_l0xXJxOLtcuhlSBHl64t5w.marker = Marker_TY_l0xXJxOLtcuhlSBHl64t5w; }