N_NIMCALL(NI, llstreamread_179584)(Tllstream179204* s, void* buf, NI buflen) { NI result; result = 0; switch ((*s).kind) { case ((NU8) 0): { result = ((NI) 0); } break; case ((NU8) 1): { result = ((buflen <= (NI)(((*s).s ? (*s).s->Sup.len : 0) - (*s).rd)) ? buflen : (NI)(((*s).s ? (*s).s->Sup.len : 0) - (*s).rd)); { if (!(((NI) 0) < result)) goto LA5; memcpy(buf, ((void*) ((&(*s).s->data[(NI)(((NI) 0) + (*s).rd)]))), ((NI) (result))); (*s).rd += result; } LA5: ; } break; case ((NU8) 2): { result = readbuffer_13515((*s).f, buf, ((NI) (buflen))); } break; case ((NU8) 3): { result = llreadfromstdin_179528(s, buf, buflen); } break; } return result; }
N_NIMCALL(NI, llstreamread_177584)(Tllstream177204* s, void* buf, NI buflen) { NI result; nimfr("llStreamRead", "llstream.nim") result = 0; nimln(119, "llstream.nim"); switch ((*s).kind) { case ((NU8) 0): { nimln(121, "llstream.nim"); result = ((NI) 0); } break; case ((NU8) 1): { NI TMP2104; nimln(123, "llstream.nim"); TMP2104 = subInt(((*s).s ? (*s).s->Sup.len : 0), (*s).rd); result = ((buflen <= (NI)(TMP2104)) ? buflen : (NI)(TMP2104)); nimln(124, "llstream.nim"); { NI TMP2105; NI TMP2106; if (!(((NI) 0) < result)) goto LA5; nimln(125, "llstream.nim"); TMP2105 = addInt(((NI) 0), (*s).rd); if ((NU)((NI)(TMP2105)) > (NU)((*s).s->Sup.len)) raiseIndexError(); memcpy(buf, ((void*) ((&(*s).s->data[(NI)(TMP2105)]))), ((NI)chckRange(result, ((NI) 0), ((NI) 2147483647)))); nimln(126, "llstream.nim"); TMP2106 = addInt((*s).rd, result); (*s).rd = (NI)(TMP2106); } LA5: ; } break; case ((NU8) 2): { nimln(128, "llstream.nim"); result = readbuffer_13515((*s).f, buf, ((NI)chckRange(buflen, ((NI) 0), ((NI) 2147483647)))); } break; case ((NU8) 3): { nimln(130, "llstream.nim"); result = llreadfromstdin_177528(s, buf, buflen); } break; } popFrame(); return result; }
N_NIMCALL(NI, fsreaddata_137742)(Streamobj137027* s, void* buffer, NI buflen) { NI result; result = 0; result = readbuffer_13515((*((Filestreamobj137692*) (s))).f, buffer, ((NI) (buflen))); return result; }
N_NIMCALL(NIM_BOOL, equalsfile_162809)(Ropeobj161009* r, FILE* f) { NIM_BOOL result; TY162814 buf; NI bpos; NI blen; NI LOC26; { result = 0; memset((void*)buf, 0, sizeof(buf)); bpos = ((NI) 1024); blen = ((NI) 1024); { NimStringDesc* s_162837; s_162837 = 0; { TY163351* stack_162886; TY161585 LOC6; if (!!((r == NIM_NIL))) goto LA4; stack_162886 = (TY163351*) newSeq((&NTI163351), 1); memset((void*)LOC6, 0, sizeof(LOC6)); LOC6[0] = r; asgnRefNoCycle((void**) (&stack_162886->data[0]), LOC6[0]); { while (1) { Ropeobj161009* it_162888; NI spos; NI slen; if (!(((NI) 0) < (stack_162886 ? stack_162886->Sup.len : 0))) goto LA8; it_162888 = pop_161597((&stack_162886)); { while (1) { if (!(*it_162888).data == 0) goto LA10; stack_162886 = (TY163351*) incrSeq(&(stack_162886)->Sup, sizeof(Ropeobj161009*)); asgnRefNoCycle((void**) (&stack_162886->data[stack_162886->Sup.len-1]), (*it_162888).right); it_162888 = (*it_162888).left; } LA10: ; } s_162837 = (*it_162888).data; spos = ((NI) 0); slen = (s_162837 ? s_162837->Sup.len : 0); { while (1) { NI n; if (!(spos < slen)) goto LA12; { if (!(bpos == blen)) goto LA15; bpos = ((NI) 0); blen = readbuffer_13515(f, ((void*) ((&buf[(((NI) 0))- 0]))), ((NI) 1024)); { if (!(blen == ((NI) 0))) goto LA19; result = NIM_FALSE; goto BeforeRet; } LA19: ; } LA15: ; n = (((NI)(blen - bpos) <= (NI)(slen - spos)) ? (NI)(blen - bpos) : (NI)(slen - spos)); { NIM_BOOL LOC23; LOC23 = 0; LOC23 = equalMem(((void*) ((&buf[(bpos)- 0]))), ((void*) ((NI)(((NI) (s_162837->data)) + spos))), ((NI) (n))); if (!!(LOC23)) goto LA24; result = NIM_FALSE; goto BeforeRet; } LA24: ; spos += n; bpos += n; } LA12: ; } } LA8: ; } } LA4: ; } LOC26 = 0; LOC26 = readbuffer_13515(f, ((void*) ((&buf[(((NI) 0))- 0]))), ((NI) 1)); result = (LOC26 == ((NI) 0)); }BeforeRet: ; return result; }
N_NIMCALL(NimStringDesc*, llstreamreadall_177739)(Tllstream177204* s) { NimStringDesc* result; nimfr("llStreamReadAll", "llstream.nim") result = 0; nimln(197, "llstream.nim"); switch ((*s).kind) { case ((NU8) 0): case ((NU8) 3): { nimln(199, "llstream.nim"); result = copyString(((NimStringDesc*) &TMP2087)); } break; case ((NU8) 1): { nimln(201, "llstream.nim"); { if (!((*s).rd == ((NI) 0))) goto LA5; result = copyString((*s).s); } goto LA3; LA5: ; { nimln(202, "llstream.nim"); result = copyStr((*s).s, (*s).rd); } LA3: ; nimln(203, "llstream.nim"); (*s).rd = ((*s).s ? (*s).s->Sup.len : 0); } break; case ((NU8) 2): { NI bytes; NI i; nimln(205, "llstream.nim"); result = mnewString(((NI) 2048)); nimln(206, "llstream.nim"); if ((NU)(((NI) 0)) > (NU)(result->Sup.len)) raiseIndexError(); bytes = readbuffer_13515((*s).f, ((void*) ((&result->data[((NI) 0)]))), ((NI) 2048)); nimln(207, "llstream.nim"); i = bytes; { nimln(208, "llstream.nim"); while (1) { NI TMP2116; NI TMP2117; NI TMP2118; if (!(bytes == ((NI) 2048))) goto LA10; nimln(209, "llstream.nim"); TMP2116 = addInt(i, ((NI) 2048)); result = setLengthStr(result, ((NI)chckRange((NI)(TMP2116), ((NI) 0), ((NI) 2147483647)))); nimln(210, "llstream.nim"); TMP2117 = addInt(i, ((NI) 0)); if ((NU)((NI)(TMP2117)) > (NU)(result->Sup.len)) raiseIndexError(); bytes = readbuffer_13515((*s).f, ((void*) ((&result->data[(NI)(TMP2117)]))), ((NI) 2048)); nimln(211, "llstream.nim"); TMP2118 = addInt(i, bytes); i = (NI)(TMP2118); } LA10: ; } nimln(212, "llstream.nim"); result = setLengthStr(result, ((NI)chckRange(i, ((NI) 0), ((NI) 2147483647)))); } break; } popFrame(); return result; }