N_NIMCALL(void, addpathrec_3JEODh79bt1SXwL9cUHI7lhw)(NimStringDesc* dir0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) { Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw* packages0; NI pos0; packages0 = nstnewStringTable(((Stringtablemode_G9c4wVDFIzf0xHmQvxso9a9cQ) 2)); pos0 = (NI)((dir0 ? dir0->Sup.len : 0) - ((NI) 1)); { if (!(((NU8)(dir0->data[pos0])) == ((NU8)(47)) || ((NU8)(dir0->data[pos0])) == ((NU8)(47)))) goto LA3; pos0 += ((NI) 1); } LA3: ; { Pathcomponent_9c1SIU9cO1wHcl09b703A9cDrg k_KeWeZHiyBnWbJ7NUxRxrzQ; NimStringDesc* p_dm2MlSSgl6QuA4g3oqnzug; DIR* d_ZfFno5oDVOm9aHJ009cmNoGQ; k_KeWeZHiyBnWbJ7NUxRxrzQ = (Pathcomponent_9c1SIU9cO1wHcl09b703A9cDrg)0; p_dm2MlSSgl6QuA4g3oqnzug = (NimStringDesc*)0; d_ZfFno5oDVOm9aHJ009cmNoGQ = opendir(dir0->data); { TSafePoint T_asNQM9aynXXg9ccUABbReyew_2; if (!!((d_ZfFno5oDVOm9aHJ009cmNoGQ == NIM_NIL))) goto LA8; pushSafePoint(&T_asNQM9aynXXg9ccUABbReyew_2); T_asNQM9aynXXg9ccUABbReyew_2.status = setjmp(T_asNQM9aynXXg9ccUABbReyew_2.context); if (T_asNQM9aynXXg9ccUABbReyew_2.status == 0) { { while (1) { { struct dirent* x_rBzPa0W2aCO6C2N57Y0ovQ; NimStringDesc* volatile y_KzqyWmE69cwQ0l9c9bXwsjU9cw; x_rBzPa0W2aCO6C2N57Y0ovQ = readdir(d_ZfFno5oDVOm9aHJ009cmNoGQ); { if (!(x_rBzPa0W2aCO6C2N57Y0ovQ == NIM_NIL)) goto LA16; goto LA11; } LA16: ; y_KzqyWmE69cwQ0l9c9bXwsjU9cw = cstrToNimstr(((NCSTRING) ((*x_rBzPa0W2aCO6C2N57Y0ovQ).d_name))); { NIM_BOOL LOC20; struct stat s_k2PyMBHM0O7gW5niqUdMGA; Pathcomponent_9c1SIU9cO1wHcl09b703A9cDrg volatile k_KeWeZHiyBnWbJ7NUxRxrzQ_2; LOC20 = (NIM_BOOL)0; LOC20 = !(eqStrings(y_KzqyWmE69cwQ0l9c9bXwsjU9cw, ((NimStringDesc*) &T_asNQM9aynXXg9ccUABbReyew_3))); if (!(LOC20)) goto LA21; LOC20 = !(eqStrings(y_KzqyWmE69cwQ0l9c9bXwsjU9cw, ((NimStringDesc*) &T_asNQM9aynXXg9ccUABbReyew_4))); LA21: ; if (!LOC20) goto LA22; memset((void*)(&s_k2PyMBHM0O7gW5niqUdMGA), 0, sizeof(s_k2PyMBHM0O7gW5niqUdMGA)); { if (!NIM_TRUE) goto LA26; y_KzqyWmE69cwQ0l9c9bXwsjU9cw = HEX2F_BsTQv9c9anbxt9bKmR0aN1elQ(dir0, y_KzqyWmE69cwQ0l9c9bXwsjU9cw); } LA26: ; k_KeWeZHiyBnWbJ7NUxRxrzQ_2 = ((Pathcomponent_9c1SIU9cO1wHcl09b703A9cDrg) 0); { if (!!(((*x_rBzPa0W2aCO6C2N57Y0ovQ).d_type == ((NI8) 0)))) goto LA30; { if (!((*x_rBzPa0W2aCO6C2N57Y0ovQ).d_type == ((NI8) 4))) goto LA34; k_KeWeZHiyBnWbJ7NUxRxrzQ_2 = ((Pathcomponent_9c1SIU9cO1wHcl09b703A9cDrg) 2); } LA34: ; { if (!((*x_rBzPa0W2aCO6C2N57Y0ovQ).d_type == ((NI8) 10))) goto LA38; { NIM_BOOL LOC42; LOC42 = (NIM_BOOL)0; LOC42 = direxists_wf0Ae3eLXw0lSNEFJMV3ognimblecmd(y_KzqyWmE69cwQ0l9c9bXwsjU9cw); if (!LOC42) goto LA43; k_KeWeZHiyBnWbJ7NUxRxrzQ_2 = ((Pathcomponent_9c1SIU9cO1wHcl09b703A9cDrg) 3); } goto LA40; LA43: ; { k_KeWeZHiyBnWbJ7NUxRxrzQ_2 = ((Pathcomponent_9c1SIU9cO1wHcl09b703A9cDrg) 1); } LA40: ; } LA38: ; k_KeWeZHiyBnWbJ7NUxRxrzQ = k_KeWeZHiyBnWbJ7NUxRxrzQ_2; p_dm2MlSSgl6QuA4g3oqnzug = y_KzqyWmE69cwQ0l9c9bXwsjU9cw; { NIM_BOOL LOC48; LOC48 = (NIM_BOOL)0; LOC48 = (k_KeWeZHiyBnWbJ7NUxRxrzQ == ((Pathcomponent_9c1SIU9cO1wHcl09b703A9cDrg) 2)); if (!(LOC48)) goto LA49; LOC48 = !(((NU8)(p_dm2MlSSgl6QuA4g3oqnzug->data[pos0]) == (NU8)(46))); LA49: ; if (!LOC48) goto LA50; addpackage_mPfTsfux8gBVeyQ8xwDYTQ(packages0, p_dm2MlSSgl6QuA4g3oqnzug); } LA50: ; goto LA13; } LA30: ; { int LOC54; LOC54 = (int)0; LOC54 = lstat(y_KzqyWmE69cwQ0l9c9bXwsjU9cw->data, (&s_k2PyMBHM0O7gW5niqUdMGA)); if (!(LOC54 < ((NI32) 0))) goto LA55; goto LA11; } LA55: ; { NIM_BOOL LOC59; LOC59 = (NIM_BOOL)0; LOC59 = S_ISDIR(s_k2PyMBHM0O7gW5niqUdMGA.st_mode); if (!LOC59) goto LA60; k_KeWeZHiyBnWbJ7NUxRxrzQ_2 = ((Pathcomponent_9c1SIU9cO1wHcl09b703A9cDrg) 2); } goto LA57; LA60: ; { NIM_BOOL LOC63; LOC63 = (NIM_BOOL)0; LOC63 = S_ISLNK(s_k2PyMBHM0O7gW5niqUdMGA.st_mode); if (!LOC63) goto LA64; k_KeWeZHiyBnWbJ7NUxRxrzQ_2 = getsymlinkfilekind_WoXOp8qmMec1P4MyA3LBKg(y_KzqyWmE69cwQ0l9c9bXwsjU9cw); } goto LA57; LA64: ; LA57: ; k_KeWeZHiyBnWbJ7NUxRxrzQ = k_KeWeZHiyBnWbJ7NUxRxrzQ_2; p_dm2MlSSgl6QuA4g3oqnzug = y_KzqyWmE69cwQ0l9c9bXwsjU9cw; { NIM_BOOL LOC68; LOC68 = (NIM_BOOL)0; LOC68 = (k_KeWeZHiyBnWbJ7NUxRxrzQ == ((Pathcomponent_9c1SIU9cO1wHcl09b703A9cDrg) 2)); if (!(LOC68)) goto LA69; LOC68 = !(((NU8)(p_dm2MlSSgl6QuA4g3oqnzug->data[pos0]) == (NU8)(46))); LA69: ; if (!LOC68) goto LA70; addpackage_mPfTsfux8gBVeyQ8xwDYTQ(packages0, p_dm2MlSSgl6QuA4g3oqnzug); } LA70: ; } LA22: ; } LA13: ; } } LA11: ; popSafePoint(); } else { popSafePoint(); } { int LOC74; LOC74 = (int)0; LOC74 = closedir(d_ZfFno5oDVOm9aHJ009cmNoGQ); } if (T_asNQM9aynXXg9ccUABbReyew_2.status != 0) reraiseException(); } LA8: ; } { NimStringDesc* p_dm2MlSSgl6QuA4g3oqnzug_2; p_dm2MlSSgl6QuA4g3oqnzug_2 = (NimStringDesc*)0; { NimStringDesc* key_Ev9apnmbO2PJJuXUQfg55Zg; NimStringDesc* val_ybgqP7AeGJc5RfjZOOmLIA; key_Ev9apnmbO2PJJuXUQfg55Zg = (NimStringDesc*)0; val_ybgqP7AeGJc5RfjZOOmLIA = (NimStringDesc*)0; { NI h_0lk9afqbBF9cAQtskh16RYmQ; NI HEX3Atmp_xBs1KTOTJ0azvpgP9bD601g; NI res_yPiyJP1ZM9abouUrPkQkp8Q; h_0lk9afqbBF9cAQtskh16RYmQ = (NI)0; HEX3Atmp_xBs1KTOTJ0azvpgP9bD601g = (NI)0; HEX3Atmp_xBs1KTOTJ0azvpgP9bD601g = ((*packages0).data ? ((*packages0).data->Sup.len-1) : -1); res_yPiyJP1ZM9abouUrPkQkp8Q = ((NI) 0); { while (1) { if (!(res_yPiyJP1ZM9abouUrPkQkp8Q <= HEX3Atmp_xBs1KTOTJ0azvpgP9bD601g)) goto LA79; h_0lk9afqbBF9cAQtskh16RYmQ = res_yPiyJP1ZM9abouUrPkQkp8Q; { NimStringDesc* res_yPiyJP1ZM9abouUrPkQkp8Q_2; if (!!(((*packages0).data->data[h_0lk9afqbBF9cAQtskh16RYmQ].Field0 == 0))) goto LA82; key_Ev9apnmbO2PJJuXUQfg55Zg = (*packages0).data->data[h_0lk9afqbBF9cAQtskh16RYmQ].Field0; val_ybgqP7AeGJc5RfjZOOmLIA = (*packages0).data->data[h_0lk9afqbBF9cAQtskh16RYmQ].Field1; { if (!eqStrings(val_ybgqP7AeGJc5RfjZOOmLIA, ((NimStringDesc*) &T_asNQM9aynXXg9ccUABbReyew_5))) goto LA86; res_yPiyJP1ZM9abouUrPkQkp8Q_2 = key_Ev9apnmbO2PJJuXUQfg55Zg; } goto LA84; LA86: ; { NimStringDesc* LOC89; LOC89 = (NimStringDesc*)0; LOC89 = rawNewString(key_Ev9apnmbO2PJJuXUQfg55Zg->Sup.len + val_ybgqP7AeGJc5RfjZOOmLIA->Sup.len + 1); appendString(LOC89, key_Ev9apnmbO2PJJuXUQfg55Zg); appendChar(LOC89, 45); appendString(LOC89, val_ybgqP7AeGJc5RfjZOOmLIA); res_yPiyJP1ZM9abouUrPkQkp8Q_2 = LOC89; } LA84: ; p_dm2MlSSgl6QuA4g3oqnzug_2 = res_yPiyJP1ZM9abouUrPkQkp8Q_2; addnimblepath_Io0tiMEKgDlbf67BdbC9cWw(p_dm2MlSSgl6QuA4g3oqnzug_2, info0); } LA82: ; res_yPiyJP1ZM9abouUrPkQkp8Q += ((NI) 1); } LA79: ; } } } } }
N_NIMCALL(void, addpathrec_3JEODh79bt1SXwL9cUHI7lhw)(NimStringDesc* dir0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) { Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw* packages0; NI pos0; packages0 = nstnewStringTable(((Stringtablemode_G9c4wVDFIzf0xHmQvxso9a9cQ) 2)); pos0 = (NI)((dir0 ? dir0->Sup.len : 0) - ((NI) 1)); { if (!(((NU8)(dir0->data[pos0])) == ((NU8)(92)) || ((NU8)(dir0->data[pos0])) == ((NU8)(47)))) goto LA3; pos0 += ((NI) 1); } LA3: ; { Pathcomponent_9c1SIU9cO1wHcl09b703A9cDrg k_KeWeZHiyBnWbJ7NUxRxrzQ; NimStringDesc* p_dm2MlSSgl6QuA4g3oqnzug; Win32finddata_aYwmSz9bIz0JHAL9ciwIrnhA f_yneQFFyrNSt4aVInhReW9aA; NI h_0lk9afqbBF9cAQtskh16RYmQ; NimStringDesc* LOC6; k_KeWeZHiyBnWbJ7NUxRxrzQ = (Pathcomponent_9c1SIU9cO1wHcl09b703A9cDrg)0; p_dm2MlSSgl6QuA4g3oqnzug = (NimStringDesc*)0; memset((void*)(&f_yneQFFyrNSt4aVInhReW9aA), 0, sizeof(f_yneQFFyrNSt4aVInhReW9aA)); LOC6 = (NimStringDesc*)0; LOC6 = HEX2F_BsTQv9c9anbxt9bKmR0aN1elQ(dir0, ((NimStringDesc*) &T_asNQM9aynXXg9ccUABbReyew_2)); h_0lk9afqbBF9cAQtskh16RYmQ = findfirstfile_9cPKjuaUWDYlrzWunhDgNng(LOC6, (&f_yneQFFyrNSt4aVInhReW9aA)); { TSafePoint T_asNQM9aynXXg9ccUABbReyew_3; if (!!((h_0lk9afqbBF9cAQtskh16RYmQ == ((NI) -1)))) goto LA9; pushSafePoint(&T_asNQM9aynXXg9ccUABbReyew_3); T_asNQM9aynXXg9ccUABbReyew_3.status = setjmp(T_asNQM9aynXXg9ccUABbReyew_3.context); if (T_asNQM9aynXXg9ccUABbReyew_3.status == 0) { { while (1) { Pathcomponent_9c1SIU9cO1wHcl09b703A9cDrg volatile k_KeWeZHiyBnWbJ7NUxRxrzQ_2; k_KeWeZHiyBnWbJ7NUxRxrzQ_2 = ((Pathcomponent_9c1SIU9cO1wHcl09b703A9cDrg) 0); { NIM_BOOL LOC16; NimStringDesc* xx_D6S9bE74YCnbt3gCAKHz9cNA; LOC16 = (NIM_BOOL)0; LOC16 = skipfinddata_Paqclu9aSY8chOSEIvA5ZoAoptions((&f_yneQFFyrNSt4aVInhReW9aA)); if (!!(LOC16)) goto LA17; { if (!!(((NI32)(f_yneQFFyrNSt4aVInhReW9aA.dwfileattributes & ((NI32) 16)) == ((NI32) 0)))) goto LA21; k_KeWeZHiyBnWbJ7NUxRxrzQ_2 = ((Pathcomponent_9c1SIU9cO1wHcl09b703A9cDrg) 2); } LA21: ; { if (!!(((NI32)(f_yneQFFyrNSt4aVInhReW9aA.dwfileattributes & ((NI32) 1024)) == ((NI32) 0)))) goto LA25; k_KeWeZHiyBnWbJ7NUxRxrzQ_2 = (Pathcomponent_9c1SIU9cO1wHcl09b703A9cDrg)(k_KeWeZHiyBnWbJ7NUxRxrzQ_2 + ((NI) 1)); } LA25: ; { NimStringDesc* LOC31; if (!NIM_FALSE) goto LA29; LOC31 = (NimStringDesc*)0; LOC31 = HEX24_QjWkJEdnPpNzR7KF7dYIoQ(((NI16*) ((&f_yneQFFyrNSt4aVInhReW9aA.cfilename[(((NI) 0))- 0])))); xx_D6S9bE74YCnbt3gCAKHz9cNA = nosextractFilename(LOC31); } goto LA27; LA29: ; { NimStringDesc* LOC33; NimStringDesc* LOC34; LOC33 = (NimStringDesc*)0; LOC33 = HEX24_QjWkJEdnPpNzR7KF7dYIoQ(((NI16*) ((&f_yneQFFyrNSt4aVInhReW9aA.cfilename[(((NI) 0))- 0])))); LOC34 = (NimStringDesc*)0; LOC34 = nosextractFilename(LOC33); xx_D6S9bE74YCnbt3gCAKHz9cNA = HEX2F_BsTQv9c9anbxt9bKmR0aN1elQ(dir0, LOC34); } LA27: ; k_KeWeZHiyBnWbJ7NUxRxrzQ = k_KeWeZHiyBnWbJ7NUxRxrzQ_2; p_dm2MlSSgl6QuA4g3oqnzug = xx_D6S9bE74YCnbt3gCAKHz9cNA; { NIM_BOOL LOC37; LOC37 = (NIM_BOOL)0; LOC37 = (k_KeWeZHiyBnWbJ7NUxRxrzQ == ((Pathcomponent_9c1SIU9cO1wHcl09b703A9cDrg) 2)); if (!(LOC37)) goto LA38; LOC37 = !(((NU8)(p_dm2MlSSgl6QuA4g3oqnzug->data[pos0]) == (NU8)(46))); LA38: ; if (!LOC37) goto LA39; addpackage_mPfTsfux8gBVeyQ8xwDYTQ(packages0, p_dm2MlSSgl6QuA4g3oqnzug); } LA39: ; } LA17: ; { NI32 LOC43; LOC43 = (NI32)0; LOC43 = Dl_120437(h_0lk9afqbBF9cAQtskh16RYmQ, (&f_yneQFFyrNSt4aVInhReW9aA)); if (!(LOC43 == ((NI32) 0))) goto LA44; goto LA12; } LA44: ; } } LA12: ; popSafePoint(); } else { popSafePoint(); } { Dl_120601(h_0lk9afqbBF9cAQtskh16RYmQ); } if (T_asNQM9aynXXg9ccUABbReyew_3.status != 0) reraiseException(); } LA9: ; } { NimStringDesc* p_dm2MlSSgl6QuA4g3oqnzug_2; p_dm2MlSSgl6QuA4g3oqnzug_2 = (NimStringDesc*)0; { NimStringDesc* key_Ev9apnmbO2PJJuXUQfg55Zg; NimStringDesc* val_ybgqP7AeGJc5RfjZOOmLIA; key_Ev9apnmbO2PJJuXUQfg55Zg = (NimStringDesc*)0; val_ybgqP7AeGJc5RfjZOOmLIA = (NimStringDesc*)0; { NI h_0lk9afqbBF9cAQtskh16RYmQ_2; NI HEX3Atmp_xBs1KTOTJ0azvpgP9bD601g; NI res_yPiyJP1ZM9abouUrPkQkp8Q; h_0lk9afqbBF9cAQtskh16RYmQ_2 = (NI)0; HEX3Atmp_xBs1KTOTJ0azvpgP9bD601g = (NI)0; HEX3Atmp_xBs1KTOTJ0azvpgP9bD601g = ((*packages0).data ? ((*packages0).data->Sup.len-1) : -1); res_yPiyJP1ZM9abouUrPkQkp8Q = ((NI) 0); { while (1) { if (!(res_yPiyJP1ZM9abouUrPkQkp8Q <= HEX3Atmp_xBs1KTOTJ0azvpgP9bD601g)) goto LA52; h_0lk9afqbBF9cAQtskh16RYmQ_2 = res_yPiyJP1ZM9abouUrPkQkp8Q; { NimStringDesc* res_yPiyJP1ZM9abouUrPkQkp8Q_2; if (!!(((*packages0).data->data[h_0lk9afqbBF9cAQtskh16RYmQ_2].Field0 == 0))) goto LA55; key_Ev9apnmbO2PJJuXUQfg55Zg = (*packages0).data->data[h_0lk9afqbBF9cAQtskh16RYmQ_2].Field0; val_ybgqP7AeGJc5RfjZOOmLIA = (*packages0).data->data[h_0lk9afqbBF9cAQtskh16RYmQ_2].Field1; { if (!eqStrings(val_ybgqP7AeGJc5RfjZOOmLIA, ((NimStringDesc*) &T_asNQM9aynXXg9ccUABbReyew_4))) goto LA59; res_yPiyJP1ZM9abouUrPkQkp8Q_2 = key_Ev9apnmbO2PJJuXUQfg55Zg; } goto LA57; LA59: ; { NimStringDesc* LOC62; LOC62 = (NimStringDesc*)0; LOC62 = rawNewString(key_Ev9apnmbO2PJJuXUQfg55Zg->Sup.len + val_ybgqP7AeGJc5RfjZOOmLIA->Sup.len + 1); appendString(LOC62, key_Ev9apnmbO2PJJuXUQfg55Zg); appendChar(LOC62, 45); appendString(LOC62, val_ybgqP7AeGJc5RfjZOOmLIA); res_yPiyJP1ZM9abouUrPkQkp8Q_2 = LOC62; } LA57: ; p_dm2MlSSgl6QuA4g3oqnzug_2 = res_yPiyJP1ZM9abouUrPkQkp8Q_2; addnimblepath_Io0tiMEKgDlbf67BdbC9cWw(p_dm2MlSSgl6QuA4g3oqnzug_2, info0); } LA55: ; res_yPiyJP1ZM9abouUrPkQkp8Q += ((NI) 1); } LA52: ; } } } } }