N_NIMCALL(void, close_238244)(tmemfile237204* f) { NIM_BOOL error; NI32 lasterr; nimfr("close", "memfiles.nim") nimln(221, "memfiles.nim"); error = NIM_FALSE; lasterr = 0; nimln(231, "memfiles.nim"); { int LOC5; NIM_BOOL LOC6; int LOC7; nimln(231, "memfiles.nim"); nimln(231, "memfiles.nim"); if (!!(((*f).Handle == ((NI32) 0)))) goto LA3; nimln(232, "memfiles.nim"); nimln(232, "memfiles.nim"); nimln(232, "memfiles.nim"); nimln(232, "memfiles.nim"); LOC5 = 0; LOC5 = munmap((*f).Mem, (*f).Size); error = !((LOC5 == ((NI32) 0))); nimln(233, "memfiles.nim"); lasterr = oslasterror_106231(); nimln(234, "memfiles.nim"); nimln(234, "memfiles.nim"); LOC6 = 0; nimln(234, "memfiles.nim"); nimln(234, "memfiles.nim"); nimln(234, "memfiles.nim"); LOC7 = 0; LOC7 = close((*f).Handle); LOC6 = !((LOC7 == ((NI32) 0))); if (LOC6) goto LA8; LOC6 = error; LA8: ; error = LOC6; } LA3: ; nimln(236, "memfiles.nim"); (*f).Size = 0; nimln(237, "memfiles.nim"); (*f).Mem = NIM_NIL; nimln(243, "memfiles.nim"); (*f).Handle = ((int) 0); nimln(245, "memfiles.nim"); { if (!error) goto LA11; nimln(245, "memfiles.nim"); oserror_106205(lasterr); } LA11: ; popFrame(); }
N_NIMCALL(void, unmapmem_237605)(tmemfile237204* f, void* p, NI size) { nimfr("unmapMem", "memfiles.nim") nimln(71, "memfiles.nim"); { int LOC3; NI32 LOC6; nimln(71, "memfiles.nim"); nimln(71, "memfiles.nim"); nimln(71, "memfiles.nim"); LOC3 = 0; LOC3 = munmap(p, size); if (!!((LOC3 == ((NI32) 0)))) goto LA4; nimln(71, "memfiles.nim"); nimln(71, "memfiles.nim"); LOC6 = 0; LOC6 = oslasterror_106231(); oserror_106205(LOC6); } LA4: ; popFrame(); }
N_NIMCALL(void*, mapmem_237210)(tmemfile237204* m, NU8 mode, NI mappedsize, NI offset) { void* result; NIM_BOOL readonly; int LOC5; int LOC11; nimfr("mapMem", "memfiles.nim") result = 0; nimln(40, "memfiles.nim"); nimln(40, "memfiles.nim"); readonly = (mode == ((NU8) 0)); nimln(52, "memfiles.nim"); { nimln(52, "memfiles.nim"); nimln(52, "memfiles.nim"); if (!!((0 < mappedsize))) goto LA3; nimln(52, "memfiles.nim"); failedassertimpl_80421(((NimStringDesc*) &TMP2962)); } LA3: ; nimln(53, "memfiles.nim"); LOC5 = 0; nimln(56, "memfiles.nim"); { if (!readonly) goto LA8; LOC5 = PROT_READ; } goto LA6; LA8: ; { nimln(56, "memfiles.nim"); LOC5 = (NI32)(PROT_READ | PROT_WRITE); } LA6: ; LOC11 = 0; nimln(57, "memfiles.nim"); { if (!readonly) goto LA14; LOC11 = MAP_PRIVATE; } goto LA12; LA14: ; { LOC11 = MAP_SHARED; } LA12: ; result = mmap(NIM_NIL, mappedsize, LOC5, LOC11, (*m).Handle, ((off_t) (offset))); nimln(59, "memfiles.nim"); { NI32 LOC21; nimln(59, "memfiles.nim"); if (!(result == ((void*) (MAP_FAILED)))) goto LA19; nimln(60, "memfiles.nim"); nimln(60, "memfiles.nim"); LOC21 = 0; LOC21 = oslasterror_106231(); oserror_106205(LOC21); } LA19: ; popFrame(); return result; }
N_NIMCALL(tmemfile237204, open_237803)(NimStringDesc* filename, NU8 mode, NI mappedsize, NI offset, NI newfilesize) { tmemfile237204 result; NIM_BOOL readonly; int flags; int LOC59; int LOC65; nimfr("open", "memfiles.nim") memset((void*)&result, 0, sizeof(result)); nimln(95, "memfiles.nim"); { NIM_BOOL LOC3; nimln(95, "memfiles.nim"); nimln(95, "memfiles.nim"); LOC3 = 0; nimln(95, "memfiles.nim"); LOC3 = (newfilesize == -1); if (LOC3) goto LA4; nimln(95, "memfiles.nim"); nimln(95, "memfiles.nim"); LOC3 = !((mode == ((NU8) 0))); LA4: ; if (!!(LOC3)) goto LA5; nimln(95, "memfiles.nim"); failedassertimpl_80421(((NimStringDesc*) &TMP2963)); } LA5: ; nimln(96, "memfiles.nim"); nimln(96, "memfiles.nim"); readonly = (mode == ((NU8) 0)); nimln(177, "memfiles.nim"); nimln(177, "memfiles.nim"); { if (!readonly) goto LA9; flags = O_RDONLY; } goto LA7; LA9: ; { flags = O_RDWR; } LA7: ; nimln(179, "memfiles.nim"); { NI32 permissionsmode; nimln(179, "memfiles.nim"); nimln(179, "memfiles.nim"); if (!!((newfilesize == -1))) goto LA14; nimln(180, "memfiles.nim"); nimln(180, "memfiles.nim"); nimln(180, "memfiles.nim"); flags = (NI32)((NI32)(flags | O_CREAT) | O_TRUNC); nimln(181, "memfiles.nim"); nimln(181, "memfiles.nim"); permissionsmode = (NI32)(S_IRUSR | S_IWUSR); nimln(182, "memfiles.nim"); result.Handle = open(filename->data, flags, permissionsmode); } goto LA12; LA14: ; { nimln(184, "memfiles.nim"); result.Handle = open(filename->data, flags); } LA12: ; nimln(186, "memfiles.nim"); { NI32 LOC26; nimln(186, "memfiles.nim"); if (!(result.Handle == ((NI32) -1))) goto LA19; nimln(99, "memfiles.nim"); result.Mem = NIM_NIL; nimln(100, "memfiles.nim"); result.Size = 0; nimln(174, "memfiles.nim"); { int LOC25; nimln(174, "memfiles.nim"); nimln(174, "memfiles.nim"); if (!!((result.Handle == ((NI32) 0)))) goto LA23; nimln(174, "memfiles.nim"); nimln(174, "memfiles.nim"); LOC25 = 0; LOC25 = close(result.Handle); } LA23: ; nimln(175, "memfiles.nim"); nimln(189, "memfiles.nim"); LOC26 = 0; LOC26 = oslasterror_106231(); oserror_106205(LOC26); } LA19: ; nimln(191, "memfiles.nim"); { nimln(191, "memfiles.nim"); nimln(191, "memfiles.nim"); if (!!((newfilesize == -1))) goto LA29; nimln(192, "memfiles.nim"); { int LOC33; NI32 LOC41; nimln(192, "memfiles.nim"); nimln(192, "memfiles.nim"); LOC33 = 0; LOC33 = ftruncate(result.Handle, ((off_t) (newfilesize))); if (!(LOC33 == ((NI32) -1))) goto LA34; nimln(99, "memfiles.nim"); result.Mem = NIM_NIL; nimln(100, "memfiles.nim"); result.Size = 0; nimln(174, "memfiles.nim"); { int LOC40; nimln(174, "memfiles.nim"); nimln(174, "memfiles.nim"); if (!!((result.Handle == ((NI32) 0)))) goto LA38; nimln(174, "memfiles.nim"); nimln(174, "memfiles.nim"); LOC40 = 0; LOC40 = close(result.Handle); } LA38: ; nimln(175, "memfiles.nim"); nimln(193, "memfiles.nim"); LOC41 = 0; LOC41 = oslasterror_106231(); oserror_106205(LOC41); } LA34: ; } LA29: ; nimln(195, "memfiles.nim"); { nimln(195, "memfiles.nim"); nimln(195, "memfiles.nim"); if (!!((mappedsize == -1))) goto LA44; nimln(196, "memfiles.nim"); result.Size = mappedsize; } goto LA42; LA44: ; { struct stat stat; memset((void*)&stat, 0, sizeof(stat)); nimln(199, "memfiles.nim"); { int LOC49; nimln(199, "memfiles.nim"); nimln(199, "memfiles.nim"); nimln(199, "memfiles.nim"); LOC49 = 0; LOC49 = fstat(result.Handle, &stat); if (!!((LOC49 == ((NI32) -1)))) goto LA50; nimln(202, "memfiles.nim"); result.Size = ((NI)chckRange64(stat.st_size, (-2147483647 -1), 2147483647)); } goto LA47; LA50: ; { NI32 LOC58; nimln(99, "memfiles.nim"); result.Mem = NIM_NIL; nimln(100, "memfiles.nim"); result.Size = 0; nimln(174, "memfiles.nim"); { int LOC57; nimln(174, "memfiles.nim"); nimln(174, "memfiles.nim"); if (!!((result.Handle == ((NI32) 0)))) goto LA55; nimln(174, "memfiles.nim"); nimln(174, "memfiles.nim"); LOC57 = 0; LOC57 = close(result.Handle); } LA55: ; nimln(175, "memfiles.nim"); nimln(204, "memfiles.nim"); LOC58 = 0; LOC58 = oslasterror_106231(); oserror_106205(LOC58); } LA47: ; } LA42: ; nimln(206, "memfiles.nim"); LOC59 = 0; nimln(209, "memfiles.nim"); { if (!readonly) goto LA62; LOC59 = PROT_READ; } goto LA60; LA62: ; { nimln(209, "memfiles.nim"); LOC59 = (NI32)(PROT_READ | PROT_WRITE); } LA60: ; LOC65 = 0; nimln(210, "memfiles.nim"); { if (!readonly) goto LA68; LOC65 = MAP_PRIVATE; } goto LA66; LA68: ; { LOC65 = MAP_SHARED; } LA66: ; result.Mem = mmap(NIM_NIL, result.Size, LOC59, LOC65, result.Handle, ((off_t) (offset))); nimln(214, "memfiles.nim"); { NI32 LOC80; nimln(214, "memfiles.nim"); if (!(result.Mem == ((void*) (MAP_FAILED)))) goto LA73; nimln(99, "memfiles.nim"); result.Mem = NIM_NIL; nimln(100, "memfiles.nim"); result.Size = 0; nimln(174, "memfiles.nim"); { int LOC79; nimln(174, "memfiles.nim"); nimln(174, "memfiles.nim"); if (!!((result.Handle == ((NI32) 0)))) goto LA77; nimln(174, "memfiles.nim"); nimln(174, "memfiles.nim"); LOC79 = 0; LOC79 = close(result.Handle); } LA77: ; nimln(175, "memfiles.nim"); nimln(215, "memfiles.nim"); LOC80 = 0; LOC80 = oslasterror_106231(); oserror_106205(LOC80); } LA73: ; popFrame(); return result; }
N_NIMCALL(tmemfile232204, open_232803)(NimStringDesc* filename, NU8 mode, NI mappedsize, NI offset, NI newfilesize) { tmemfile232204 result; NIM_BOOL readonly; int flags; int LOC58; int LOC64; nimfr("open", "memfiles.nim") memset((void*)&result, 0, sizeof(result)); nimln(82, "memfiles.nim"); { NIM_BOOL LOC3; nimln(82, "memfiles.nim"); nimln(82, "memfiles.nim"); LOC3 = 0; nimln(82, "memfiles.nim"); LOC3 = (newfilesize == -1); if (LOC3) goto LA4; nimln(82, "memfiles.nim"); nimln(82, "memfiles.nim"); LOC3 = !((mode == ((NU8) 0))); LA4: ; if (!!(LOC3)) goto LA5; nimln(82, "memfiles.nim"); failedassertimpl_79821(((NimStringDesc*) &TMP2959)); } LA5: ; nimln(83, "memfiles.nim"); nimln(83, "memfiles.nim"); readonly = (mode == ((NU8) 0)); nimln(164, "memfiles.nim"); nimln(164, "memfiles.nim"); { if (!readonly) goto LA9; flags = O_RDONLY; } goto LA7; LA9: ; { flags = O_RDWR; } LA7: ; nimln(166, "memfiles.nim"); { nimln(166, "memfiles.nim"); nimln(166, "memfiles.nim"); if (!!((newfilesize == -1))) goto LA14; nimln(167, "memfiles.nim"); nimln(167, "memfiles.nim"); nimln(167, "memfiles.nim"); flags = (NI32)((NI32)(flags | O_CREAT) | O_TRUNC); } LA14: ; nimln(169, "memfiles.nim"); result.Handle = open(filename->data, flags); nimln(170, "memfiles.nim"); { NI32 LOC25; nimln(170, "memfiles.nim"); if (!(result.Handle == ((NI32) -1))) goto LA18; nimln(86, "memfiles.nim"); result.Mem = NIM_NIL; nimln(87, "memfiles.nim"); result.Size = 0; nimln(161, "memfiles.nim"); { int LOC24; nimln(161, "memfiles.nim"); nimln(161, "memfiles.nim"); if (!!((result.Handle == ((NI32) 0)))) goto LA22; nimln(161, "memfiles.nim"); nimln(161, "memfiles.nim"); LOC24 = 0; LOC24 = close(result.Handle); } LA22: ; nimln(162, "memfiles.nim"); nimln(173, "memfiles.nim"); LOC25 = 0; LOC25 = oslasterror_106231(); oserror_106205(LOC25); } LA18: ; nimln(175, "memfiles.nim"); { nimln(175, "memfiles.nim"); nimln(175, "memfiles.nim"); if (!!((newfilesize == -1))) goto LA28; nimln(176, "memfiles.nim"); { int LOC32; NI32 LOC40; nimln(176, "memfiles.nim"); nimln(176, "memfiles.nim"); LOC32 = 0; LOC32 = ftruncate(result.Handle, ((off_t) (newfilesize))); if (!(LOC32 == ((NI32) -1))) goto LA33; nimln(86, "memfiles.nim"); result.Mem = NIM_NIL; nimln(87, "memfiles.nim"); result.Size = 0; nimln(161, "memfiles.nim"); { int LOC39; nimln(161, "memfiles.nim"); nimln(161, "memfiles.nim"); if (!!((result.Handle == ((NI32) 0)))) goto LA37; nimln(161, "memfiles.nim"); nimln(161, "memfiles.nim"); LOC39 = 0; LOC39 = close(result.Handle); } LA37: ; nimln(162, "memfiles.nim"); nimln(177, "memfiles.nim"); LOC40 = 0; LOC40 = oslasterror_106231(); oserror_106205(LOC40); } LA33: ; } LA28: ; nimln(179, "memfiles.nim"); { nimln(179, "memfiles.nim"); nimln(179, "memfiles.nim"); if (!!((mappedsize == -1))) goto LA43; nimln(180, "memfiles.nim"); result.Size = mappedsize; } goto LA41; LA43: ; { struct stat stat; memset((void*)&stat, 0, sizeof(stat)); nimln(183, "memfiles.nim"); { int LOC48; nimln(183, "memfiles.nim"); nimln(183, "memfiles.nim"); nimln(183, "memfiles.nim"); LOC48 = 0; LOC48 = fstat(result.Handle, &stat); if (!!((LOC48 == ((NI32) -1)))) goto LA49; nimln(186, "memfiles.nim"); result.Size = ((NI)chckRange64(stat.st_size, (-2147483647 -1), 2147483647)); } goto LA46; LA49: ; { NI32 LOC57; nimln(86, "memfiles.nim"); result.Mem = NIM_NIL; nimln(87, "memfiles.nim"); result.Size = 0; nimln(161, "memfiles.nim"); { int LOC56; nimln(161, "memfiles.nim"); nimln(161, "memfiles.nim"); if (!!((result.Handle == ((NI32) 0)))) goto LA54; nimln(161, "memfiles.nim"); nimln(161, "memfiles.nim"); LOC56 = 0; LOC56 = close(result.Handle); } LA54: ; nimln(162, "memfiles.nim"); nimln(188, "memfiles.nim"); LOC57 = 0; LOC57 = oslasterror_106231(); oserror_106205(LOC57); } LA46: ; } LA41: ; nimln(190, "memfiles.nim"); LOC58 = 0; nimln(193, "memfiles.nim"); { if (!readonly) goto LA61; LOC58 = PROT_READ; } goto LA59; LA61: ; { nimln(193, "memfiles.nim"); LOC58 = (NI32)(PROT_READ | PROT_WRITE); } LA59: ; LOC64 = 0; nimln(194, "memfiles.nim"); { if (!readonly) goto LA67; LOC64 = MAP_PRIVATE; } goto LA65; LA67: ; { LOC64 = MAP_SHARED; } LA65: ; result.Mem = mmap(NIM_NIL, result.Size, LOC58, LOC64, result.Handle, ((off_t) (offset))); nimln(198, "memfiles.nim"); { NI32 LOC79; nimln(198, "memfiles.nim"); if (!(result.Mem == ((void*) (MAP_FAILED)))) goto LA72; nimln(86, "memfiles.nim"); result.Mem = NIM_NIL; nimln(87, "memfiles.nim"); result.Size = 0; nimln(161, "memfiles.nim"); { int LOC78; nimln(161, "memfiles.nim"); nimln(161, "memfiles.nim"); if (!!((result.Handle == ((NI32) 0)))) goto LA76; nimln(161, "memfiles.nim"); nimln(161, "memfiles.nim"); LOC78 = 0; LOC78 = close(result.Handle); } LA76: ; nimln(162, "memfiles.nim"); nimln(199, "memfiles.nim"); LOC79 = 0; LOC79 = oslasterror_106231(); oserror_106205(LOC79); } LA72: ; popFrame(); return result; }
N_NIMCALL(void, serve_523292)(TY523294 action) { NimStringDesc* typ; nimfr("serve", "service.nim") nimln(74, "service.nim"); typ = getconfigvar_135311(((NimStringDesc*) &TMP7647)); nimln(75, "service.nim"); if (eqStrings(typ, ((NimStringDesc*) &TMP7648))) goto LA1; if (eqStrings(typ, ((NimStringDesc*) &TMP7649))) goto LA2; if (eqStrings(typ, ((NimStringDesc*) &TMP7640))) goto LA2; goto LA3; LA1: ; { nimln(77, "service.nim"); while (1) { NimStringDesc* line; NimStringDesc* LOC11; nimln(78, "service.nim"); nimln(78, "service.nim"); line = readline_10484(stdin); nimln(79, "service.nim"); { nimln(79, "service.nim"); if (!eqStrings(line, ((NimStringDesc*) &TMP7650))) goto LA9; nimln(79, "service.nim"); exit(0); } LA9: ; nimln(67, "service.nim"); LOC11 = 0; LOC11 = curcaascmd_523203; curcaascmd_523203 = copyStringRC1(line); if (LOC11) nimGCunrefNoCycle(LOC11); nimln(68, "service.nim"); processcmdline_523207(((NU8) 1), line); nimln(69, "service.nim"); action(); nimln(70, "service.nim"); gdirtybufferidx_135127 = ((NI32) 0); nimln(71, "service.nim"); gdirtyoriginalidx_135128 = ((NI32) 0); nimln(72, "service.nim"); gerrorcounter_162179 = 0; nimln(81, "service.nim"); printf("%s\012", (((NimStringDesc*) &TMP7640))->data); nimln(82, "service.nim"); fflush(stdout); } } goto LA4; LA2: ; { tsocketimpl148605* server; NimStringDesc* p; NU16 port; NimStringDesc* LOC24; NimStringDesc* inp; nimln(86, "service.nim"); server = socket_149402(((NU8) 2), ((NU8) 1), ((NU8) 6), NIM_TRUE); nimln(87, "service.nim"); { NI32 LOC17; nimln(87, "service.nim"); if (!(server == invalidsocket_148678)) goto LA15; nimln(87, "service.nim"); nimln(87, "service.nim"); LOC17 = 0; LOC17 = oslasterror_106231(); oserror_106205(LOC17); } LA15: ; nimln(88, "service.nim"); p = getconfigvar_135311(((NimStringDesc*) &TMP7655)); nimln(89, "service.nim"); nimln(89, "service.nim"); { NI LOC22; nimln(89, "service.nim"); nimln(89, "service.nim"); if (!(0 < p->Sup.len)) goto LA20; nimln(89, "service.nim"); LOC22 = 0; LOC22 = nsuParseInt(p); port = ((NU16) (LOC22)); } goto LA18; LA20: ; { port = ((NU16) 6000); } LA18: ; nimln(90, "service.nim"); nimln(90, "service.nim"); LOC24 = 0; LOC24 = getconfigvar_135311(((NimStringDesc*) &TMP7656)); bindaddr_150584(server, port, LOC24); nimln(91, "service.nim"); inp = copyString(((NimStringDesc*) &TMP7640)); nimln(92, "service.nim"); listen_150405(server, SOMAXCONN); nimln(93, "service.nim"); if (stdoutsocket_162189) nimGCunrefNoCycle(stdoutsocket_162189); stdoutsocket_162189 = (tsocketimpl148605*) newObjRC1((&NTI148607), sizeof(tsocketimpl148605)); nimln(94, "service.nim"); while (1) { NimStringDesc* LOC26; nimln(95, "service.nim"); accept_152201(server, &stdoutsocket_162189); nimln(96, "service.nim"); readline_157033(stdoutsocket_162189, &inp, -1); nimln(67, "service.nim"); LOC26 = 0; LOC26 = curcaascmd_523203; curcaascmd_523203 = copyStringRC1(inp); if (LOC26) nimGCunrefNoCycle(LOC26); nimln(68, "service.nim"); processcmdline_523207(((NU8) 1), inp); nimln(69, "service.nim"); action(); nimln(70, "service.nim"); gdirtybufferidx_135127 = ((NI32) 0); nimln(71, "service.nim"); gdirtyoriginalidx_135128 = ((NI32) 0); nimln(72, "service.nim"); gerrorcounter_162179 = 0; nimln(98, "service.nim"); send_158604(stdoutsocket_162189, ((NimStringDesc*) &TMP7682)); nimln(99, "service.nim"); close_152266(stdoutsocket_162189); } } goto LA4; LA3: ; { nimln(103, "service.nim"); printf("%s%s\012", (((NimStringDesc*) &TMP7683))->data, (typ)->data); nimln(104, "service.nim"); exit(1); } LA4: ; popFrame(); }