N_NIMCALL(void, handlecmdline_527607)(void) { { NI LOC3; LOC3 = 0; LOC3 = paramcount_124830(); if (!(LOC3 == ((NI) 0))) goto LA4; writecommandlineusage_175020(); } goto LA1; LA4: ; { processcmdline_521209(((NU8) 0), ((NimStringDesc*) &TMP1869)); { TSafePoint TMP1870; TY118589 p; NimStringDesc* LOC15; NimStringDesc* LOC16; if (!!(((gprojectname_153234) && (gprojectname_153234)->Sup.len == 0))) goto LA9; pushSafePoint(&TMP1870); TMP1870.status = setjmp(TMP1870.context); if (TMP1870.status == 0) { asgnRefNoCycle((void**) (&gprojectfull_153236), canonicalizepath_153380(gprojectname_153234)); popSafePoint(); } else { popSafePoint(); if (isObj(getCurrentException()->Sup.m_type, (&NTI3433))) { NimStringDesc* LOC14; TMP1870.status = 0; LOC14 = 0; LOC14 = gprojectfull_153236; gprojectfull_153236 = copyStringRC1(gprojectname_153234); if (LOC14) nimGCunrefNoCycle(LOC14); popCurrentException(); } } if (TMP1870.status != 0) reraiseException(); memset((void*)(&p), 0, sizeof(p)); chckNil((void*)(&p)); memset((void*)(&p), 0, sizeof(p)); nossplitFile(gprojectfull_153236, (&p)); LOC15 = 0; LOC15 = gprojectpath_153235; gprojectpath_153235 = copyStringRC1(p.Field0); if (LOC15) nimGCunrefNoCycle(LOC15); LOC16 = 0; LOC16 = gprojectname_153234; gprojectname_153234 = copyStringRC1(p.Field1); if (LOC16) nimGCunrefNoCycle(LOC16); } goto LA7; LA9: ; { asgnRefNoCycle((void**) (&gprojectpath_153235), nosgetCurrentDir()); } LA7: ; loadconfigs_185811(((NimStringDesc*) &TMP1898)); initvars_169876(); processcmdline_521209(((NU8) 1), ((NimStringDesc*) &TMP1869)); maincommand_524628(); { NimStringDesc* LOC22; if (!(((NI) 2) <= gverbosity_153137)) goto LA20; LOC22 = 0; LOC22 = Gcgetstatistics_8821(); printf("%s\012", LOC22? (LOC22)->data:"nil"); } LA20: ; { if (!(gerrorcounter_163016 == ((NI) 0))) goto LA25; { if (!((gglobaloptions_153128 &(1<<((((NU8) 13))&31)))!=0)) goto LA29; { NimStringDesc* LOC35; if (!eqStrings(gprojectname_153234, ((NimStringDesc*) &TMP5024))) goto LA33; LOC35 = 0; LOC35 = gprojectfull_153236; gprojectfull_153236 = copyStringRC1(((NimStringDesc*) &TMP5025)); if (LOC35) nimGCunrefNoCycle(LOC35); } LA33: ; { NimStringDesc* ex; NimStringDesc* LOC49; NimStringDesc* LOC50; if (!(gcmd_153130 == ((NU8) 4))) goto LA38; ex = 0; { NimStringDesc* LOC44; if (!(((NI) 0) < (outfile_153134 ? outfile_153134->Sup.len : 0))) goto LA42; LOC44 = 0; LOC44 = prependcurdir_527401(outfile_153134); ex = nospquoteShell(LOC44); } goto LA40; LA42: ; { NimStringDesc* LOC46; NimStringDesc* LOC47; NimStringDesc* LOC48; LOC46 = 0; LOC46 = noschangeFileExt(gprojectfull_153236, ((NimStringDesc*) &TMP5027)); LOC47 = 0; LOC47 = prependcurdir_527401(LOC46); LOC48 = 0; LOC48 = completecfilepath_169912(LOC47, NIM_TRUE); ex = nospquoteShell(LOC48); } LA40: ; LOC49 = 0; LOC50 = 0; LOC50 = findnodejs_526009(); LOC49 = rawNewString(LOC50->Sup.len + ex->Sup.len + arguments_176723->Sup.len + 2); appendString(LOC49, LOC50); appendString(LOC49, ((NimStringDesc*) &TMP5030)); appendString(LOC49, ex); appendChar(LOC49, 32); appendString(LOC49, arguments_176723); execexternalprogram_169985(LOC49, ((NimStringDesc*) &TMP1869)); } goto LA36; LA38: ; { NimStringDesc* binpath; NimStringDesc* ex; NimStringDesc* LOC58; binpath = 0; { if (!(((NI) 0) < (outfile_153134 ? outfile_153134->Sup.len : 0))) goto LA54; binpath = prependcurdir_527401(outfile_153134); } goto LA52; LA54: ; { NimStringDesc* LOC57; LOC57 = 0; LOC57 = noschangeFileExt(gprojectfull_153236, ((NimStringDesc*) &TMP1869)); binpath = prependcurdir_527401(LOC57); } LA52: ; ex = nospquoteShell(binpath); LOC58 = 0; LOC58 = rawNewString(ex->Sup.len + arguments_176723->Sup.len + 1); appendString(LOC58, ex); appendChar(LOC58, 32); appendString(LOC58, arguments_176723); execexternalprogram_169985(LOC58, ((NimStringDesc*) &TMP1869)); } LA36: ; } LA29: ; } LA25: ; } LA1: ; }
N_NIMCALL(void, serve_521254)(TY521256 action) { TY521426* HEX3Aenv_521447; NimStringDesc* typ; nimfr("serve", "service.nim") HEX3Aenv_521447 = 0; nimln(180, "system.nim"); HEX3Aenv_521447 = (TY521426*) newObj((&NTI521448), sizeof(TY521426)); nimln(55, "service.nim"); typ = getconfigvar_153334(((NimStringDesc*) &TMP10641)); nimln(56, "service.nim"); if (eqStrings(typ, ((NimStringDesc*) &TMP10642))) goto LA1; if (eqStrings(typ, ((NimStringDesc*) &TMP10643))) goto LA2; if (eqStrings(typ, ((NimStringDesc*) &TMP10628))) goto LA2; goto LA3; LA1: ; { { nimln(58, "service.nim"); while (1) { NimStringDesc* line; NimStringDesc* LOC12; nimln(59, "service.nim"); line = readline_13478(stdin); nimln(60, "service.nim"); { if (!eqStrings(line, ((NimStringDesc*) &TMP10644))) goto LA10; exit(((NI) 0)); } LA10: ; nimln(50, "service.nim"); LOC12 = 0; LOC12 = curcaascmd_521204; curcaascmd_521204 = copyStringRC1(line); if (LOC12) nimGCunrefNoCycle(LOC12); nimln(51, "service.nim"); processcmdline_521209(((NU8) 1), line); nimln(52, "service.nim"); action(); nimln(53, "service.nim"); gerrorcounter_163012 = ((NI) 0); nimln(62, "service.nim"); printf("%s\012", ((NimStringDesc*) &TMP10628)? (((NimStringDesc*) &TMP10628))->data:"nil"); nimln(63, "service.nim"); fflush(stdout); } } } goto LA4; LA2: ; { Socketimpl513407* server; NimStringDesc* p; NU16 port; NimStringDesc* LOC20; NimStringDesc* inp; TY163054 LOC21; nimln(67, "service.nim"); server = newsocket_513830(((NU8) 2), ((NU8) 1), ((NU8) 6), NIM_TRUE); nimln(68, "service.nim"); p = getconfigvar_153334(((NimStringDesc*) &TMP10647)); nimln(69, "service.nim"); { NI LOC18; if (!(((NI) 0) < (p ? p->Sup.len : 0))) goto LA16; LOC18 = 0; LOC18 = nsuParseInt(p); port = ((NU16) (LOC18)); } goto LA14; LA16: ; { port = ((NU16) 6000); } LA14: ; nimln(70, "service.nim"); LOC20 = 0; LOC20 = getconfigvar_153334(((NimStringDesc*) &TMP10648)); bindaddr_514620(server, port, LOC20); nimln(71, "service.nim"); inp = copyString(((NimStringDesc*) &TMP10628)); nimln(72, "service.nim"); listen_514610(server, SOMAXCONN); nimln(73, "service.nim"); asgnRefNoCycle((void**) (&(*HEX3Aenv_521447).stdoutsocket521408), newsocket_513830(((NU8) 2), ((NU8) 1), ((NU8) 6), NIM_TRUE)); nimln(74, "service.nim"); memset((void*)(&LOC21), 0, sizeof(LOC21)); LOC21.ClPrc = HEX3Aanonymous_521409; LOC21.ClEnv = HEX3Aenv_521447; asgnRef((void**) (&writelnhook_163057.ClEnv), LOC21.ClEnv); writelnhook_163057.ClPrc = LOC21.ClPrc; { nimln(77, "service.nim"); while (1) { NimStringDesc* LOC24; nimln(78, "service.nim"); accept_515401(server, &(*HEX3Aenv_521447).stdoutsocket521408, 2); nimln(79, "service.nim"); readline_517608((*HEX3Aenv_521447).stdoutsocket521408, (&inp), ((NI) -1), 2); nimln(50, "service.nim"); LOC24 = 0; LOC24 = curcaascmd_521204; curcaascmd_521204 = copyStringRC1(inp); if (LOC24) nimGCunrefNoCycle(LOC24); nimln(51, "service.nim"); processcmdline_521209(((NU8) 1), inp); nimln(52, "service.nim"); action(); nimln(53, "service.nim"); gerrorcounter_163012 = ((NI) 0); nimln(81, "service.nim"); send_518208((*HEX3Aenv_521447).stdoutsocket521408, ((NimStringDesc*) &TMP10651), 2); nimln(82, "service.nim"); close_515417((*HEX3Aenv_521447).stdoutsocket521408); } } } goto LA4; LA3: ; { nimln(86, "service.nim"); printf("%s%s\012", ((NimStringDesc*) &TMP10674)? (((NimStringDesc*) &TMP10674))->data:"nil", typ? (typ)->data:"nil"); nimln(87, "service.nim"); msgquit_163104(((NI8) 1)); } LA4: ; popFrame(); }
N_NIMCALL(void, serve_521257)(TY521259 action) { TY521428* HEX3Aenv_521449; NimStringDesc* typ; HEX3Aenv_521449 = 0; HEX3Aenv_521449 = (TY521428*) newObj((&NTI521450), sizeof(TY521428)); typ = getconfigvar_153340(((NimStringDesc*) &TMP4988)); if (eqStrings(typ, ((NimStringDesc*) &TMP4989))) goto LA1; if (eqStrings(typ, ((NimStringDesc*) &TMP4990))) goto LA2; if (eqStrings(typ, ((NimStringDesc*) &TMP1075))) goto LA2; goto LA3; LA1: ; { { while (1) { NimStringDesc* line; NimStringDesc* LOC12; line = readline_13478(stdin); { if (!eqStrings(line, ((NimStringDesc*) &TMP4992))) goto LA10; exit(((NI) 0)); } LA10: ; LOC12 = 0; LOC12 = curcaascmd_521204; curcaascmd_521204 = copyStringRC1(line); if (LOC12) nimGCunrefNoCycle(LOC12); processcmdline_521209(((NU8) 1), line); action(); gerrorcounter_163016 = ((NI) 0); printf("%s\012", ((NimStringDesc*) &TMP1075)? (((NimStringDesc*) &TMP1075))->data:"nil"); fflush(stdout); } } } goto LA4; LA2: ; { Socketimpl513407* server; NimStringDesc* p; NU16 port; NimStringDesc* LOC20; NimStringDesc* inp; TY163060 LOC21; server = newsocket_513830(((NU8) 2), ((NU8) 1), ((NU8) 6), NIM_TRUE); p = getconfigvar_153340(((NimStringDesc*) &TMP4993)); { NI LOC18; if (!(((NI) 0) < (p ? p->Sup.len : 0))) goto LA16; LOC18 = 0; LOC18 = nsuParseInt(p); port = ((NU16) (LOC18)); } goto LA14; LA16: ; { port = ((NU16) 6000); } LA14: ; LOC20 = 0; LOC20 = getconfigvar_153340(((NimStringDesc*) &TMP4994)); bindaddr_514620(server, port, LOC20); inp = copyString(((NimStringDesc*) &TMP1075)); listen_514610(server, SOMAXCONN); asgnRefNoCycle((void**) (&(*HEX3Aenv_521449).stdoutsocket521408), newsocket_513830(((NU8) 2), ((NU8) 1), ((NU8) 6), NIM_TRUE)); memset((void*)(&LOC21), 0, sizeof(LOC21)); LOC21.ClPrc = HEX3Aanonymous_521409; LOC21.ClEnv = HEX3Aenv_521449; asgnRef((void**) (&writelnhook_163063.ClEnv), LOC21.ClEnv); writelnhook_163063.ClPrc = LOC21.ClPrc; { while (1) { NimStringDesc* LOC24; accept_515401(server, &(*HEX3Aenv_521449).stdoutsocket521408, 2); readline_517608((*HEX3Aenv_521449).stdoutsocket521408, (&inp), ((NI) -1), 2); LOC24 = 0; LOC24 = curcaascmd_521204; curcaascmd_521204 = copyStringRC1(inp); if (LOC24) nimGCunrefNoCycle(LOC24); processcmdline_521209(((NU8) 1), inp); action(); gerrorcounter_163016 = ((NI) 0); send_518208((*HEX3Aenv_521449).stdoutsocket521408, ((NimStringDesc*) &TMP4997), 2); close_515417((*HEX3Aenv_521449).stdoutsocket521408); } } } goto LA4; LA3: ; { printf("%s%s\012", ((NimStringDesc*) &TMP5006)? (((NimStringDesc*) &TMP5006))->data:"nil", typ? (typ)->data:"nil"); msgquit_163112(((NI8) 1)); } LA4: ; }