Files
csources-nimble/nimble-linux/@m..@s..@s..@s..@s.choosenim@stoolchains@snim-@hversion-1-6@slib@ssystem@sio.nim.c

1478 lines
62 KiB
C
Raw Permalink Normal View History

/* Generated by Nim Compiler v1.6.11 */
#define NIM_INTBITS 64
#include "nimbase.h"
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <setjmp.h>
#include <sys/ioctl.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
# define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
# define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
# define nimln_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct TGenericSeq TGenericSeq;
typedef struct NimStringDesc NimStringDesc;
typedef struct tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw;
typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
typedef struct TSafePoint TSafePoint;
typedef struct tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg;
typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct RootObj {
TNimType* m_type;
};
struct Exception {
RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringDesc* message;
tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
Exception* up;
};
struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
Exception Sup;
};
struct tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw {
tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
};
struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
tyArray__0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
typedef NU8 tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg;
typedef NCSTRING tyArray__Djap3EijveoDksCG9bY8s5w[5];
typedef NIM_CHAR tyArray__PbS9a6gkxCuxWEnFq4lOU9aw[24];
typedef NIM_CHAR tyArray__hToc9cajraNwyrQdTvLCS3A[116];
typedef NU8 tyEnum_FileSeekPos__I9aQjuvWxs8BspGbxwsngWw;
typedef long tyArray__TcvIiMAJvcwzNLsZkfnFnQ[25];
struct TSafePoint {
TSafePoint* prev;
NI status;
jmp_buf context;
};
struct tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg {
tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw Sup;
};
struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
NCSTRING procname;
NI line;
NCSTRING filename;
};
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
TGenericSeq Sup;
NimStringDesc* data[SEQ_DECL_SIZE];
};
struct tySequence__uB9b75OUPRENsBAu4AnoePA {
TGenericSeq Sup;
tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tySequence__sM4lkSb7zS6F7OVMvW9cffQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(NI, writeBuffer__systemZio_176)(FILE* f, void* buffer, NI len);
N_LIB_PRIVATE N_NIMCALL(void, checkErr__systemZio_141)(FILE* f);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
N_LIB_PRIVATE N_NOINLINE(void, raiseEIO__systemZio_96)(NimStringDesc* msg) __attribute__((noreturn));
N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
static N_INLINE(void, decRef__system_5344)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_2997)(void);
static N_INLINE(void, popFrame)(void);
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__system_5342)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5293)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5299)(void* usr);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__system_5337)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i, NI64 a, NI64 b);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NIMCALL(int, getFileHandle__systemZio_228)(FILE* f);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, modeIsDir__systemZio_377)(mode_t m);
N_LIB_PRIVATE N_NIMCALL(void, close__systemZio_217)(FILE* f);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen);
N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
static N_INLINE(NIM_BOOL, eqeq___system_7770)(NCSTRING x, NCSTRING y);
N_LIB_PRIVATE N_NIMCALL(NI64, getFilePos__systemZio_452)(FILE* f);
N_LIB_PRIVATE N_NIMCALL(void, setFilePos__systemZio_439)(FILE* f, NI64 pos, tyEnum_FileSeekPos__I9aQjuvWxs8BspGbxwsngWw relativeTo);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, open__systemZio_392)(FILE** f, NimStringDesc* filename, tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg mode, NI bufSize);
static N_INLINE(void, pushSafePoint)(TSafePoint* s);
N_LIB_PRIVATE N_NIMCALL(void, write__systemZio_205)(FILE* f, NimStringDesc* s);
static N_INLINE(void, popSafePoint)(void);
static N_INLINE(TFrame*, getFrame)(void);
static N_INLINE(void, setFrame)(TFrame* s);
N_LIB_PRIVATE N_NIMCALL(void, nimLeaveFinally)(void);
N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, setInheritable__systemZio_234)(int f, NIM_BOOL inheritable);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readAll__systemZio_350)(FILE* file);
N_LIB_PRIVATE N_NIMCALL(NI64, rawFileSize__systemZio_333)(FILE* file);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readAllFile__systemZio_341)(FILE* file, NI64 len);
N_NIMCALL(NimStringDesc*, mnewString)(NI len);
N_LIB_PRIVATE N_NIMCALL(NI, readBuffer__systemZio_144)(FILE* f, void* buffer, NI len);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, endOfFile__systemZio_337)(FILE* f);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readAllBuffer__systemZio_328)(FILE* file);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
N_NIMCALL(NimStringDesc*, rawNewString)(NI cap);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, readLine__systemZio_238)(FILE* f, NimStringDesc** line);
N_LIB_PRIVATE N_NOINLINE(void, raiseEOF__systemZio_117)(void) __attribute__((noreturn));
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorU)(NU64 i, NU64 a, NU64 b);
extern TNimType NTIstring__77mFvmsOLKik79ci2hXkHEg_;
N_LIB_PRIVATE TNimType NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_;
STRING_LITERAL(TM__MnCJ0VAmeZ9aTATUB39cx60Q_2, "errno: ", 7);
STRING_LITERAL(TM__MnCJ0VAmeZ9aTATUB39cx60Q_3, " `", 2);
STRING_LITERAL(TM__MnCJ0VAmeZ9aTATUB39cx60Q_4, "`", 1);
extern TNimType NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_;
extern TNimType NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_;
STRING_LITERAL(TM__MnCJ0VAmeZ9aTATUB39cx60Q_5, "cannot write string to file", 27);
N_LIB_PRIVATE NIM_CONST tyArray__Djap3EijveoDksCG9bY8s5w FormatOpen__systemZio_371 = {"rbe",
"wbe",
"w+be",
"r+be",
"abe"}
;
N_LIB_PRIVATE TNimType NTIcfile__MAWzaQJYFu3mlxj0Ppxhmw_;
N_LIB_PRIVATE TNimType NTIfile__XBeRj4rw9bUuE7CB3DS1rgg_;
STRING_LITERAL(TM__MnCJ0VAmeZ9aTATUB39cx60Q_7, "cannot set file position", 24);
STRING_LITERAL(TM__MnCJ0VAmeZ9aTATUB39cx60Q_8, "cannot retrieve file position", 29);
STRING_LITERAL(TM__MnCJ0VAmeZ9aTATUB39cx60Q_23, "cannot open: ", 13);
N_LIB_PRIVATE TNimType NTIfilehandle__2gIj3gQlK3HZJjQaYCP6ZQ_;
extern TNimType NTIrefeoferror__LEclZrWX2FQAodlapxGITw_;
extern TNimType NTIeoferror__KGSY1JdrNB7Xi8KDhXFhSg_;
STRING_LITERAL(TM__MnCJ0VAmeZ9aTATUB39cx60Q_25, "EOF reached", 11);
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5246;
extern TSafePoint* excHandler__system_2565;
extern TSafePoint* excHandler__system_2565;
extern TSafePoint* excHandler__system_2565;
extern TSafePoint* excHandler__system_2565;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
static N_NIMCALL(void, Marker_tySequence__sM4lkSb7zS6F7OVMvW9cffQ)(void* p, NI op) {
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* a;
NI T1_;
a = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*)p;
T1_ = (NI)0;
for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
nimGCvisit((void*)a->data[T1_], op);
}
}
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memcpy(dest, source, ((size_t) (size)));
}
static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
{
if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
(*dest).Sup.len += (*src).Sup.len;
}
LA3_: ;
}
static N_INLINE(void, nimFrame)(TFrame* s) {
{
if (!(framePtr__system_2564 == ((TFrame*) NIM_NIL))) goto LA3_;
(*s).calldepth = ((NI16) 0);
}
goto LA1_;
LA3_: ;
{
(*s).calldepth = (NI16)((*framePtr__system_2564).calldepth + ((NI16) 1));
}
LA1_: ;
(*s).prev = framePtr__system_2564;
framePtr__system_2564 = s;
{
if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
callDepthLimitReached__system_2997();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__system_2564 = (*framePtr__system_2564).prev;
}
static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
NI result;
nimfr_("-%", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
result = (NI)0;
nimln_(414, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
nimln_(418, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
popFrame();
return result;
}
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
NIM_BOOL result;
nimfr_("<%", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/comparisons.nim");
result = (NIM_BOOL)0;
nimln_(186, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/comparisons.nim");
nimln_(188, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/comparisons.nim");
result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
popFrame();
return result;
}
static N_INLINE(void, rtlAddZCT__system_5342)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
nimfr_("rtlAddZCT", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
nimln_(243, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
addZCT__system_5293((&gch__system_5246.zct), c);
popFrame();
}
static N_INLINE(void, decRef__system_5344)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
nimfr_("decRef", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
nimln_(248, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
nimln_(249, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
if (!T3_) goto LA4_;
nimln_(250, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
rtlAddZCT__system_5342(c);
}
LA4_: ;
popFrame();
}
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5299)(void* usr) {
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
NI T1_;
nimfr_("usrToCell", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
nimln_(177, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
T1_ = (NI)0;
T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
popFrame();
return result;
}
static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
nimfr_("nimGCunrefNoCycle", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
nimln_(276, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
T1_ = usrToCell__system_5299(p);
decRef__system_5344(T1_);
popFrame();
}
static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
NI result;
nimfr_("+%", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
result = (NI)0;
nimln_(403, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
nimln_(407, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
popFrame();
return result;
}
static N_INLINE(void, incRef__system_5337)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
nimfr_("incRef", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
nimln_(231, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
popFrame();
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
nimfr_("asgnRef", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
nimln_(286, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
{
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
if (!!((src == NIM_NIL))) goto LA3_;
T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
T5_ = usrToCell__system_5299(src);
incRef__system_5337(T5_);
}
LA3_: ;
nimln_(287, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
{
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
if (!!(((*dest) == NIM_NIL))) goto LA8_;
T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
T10_ = usrToCell__system_5299((*dest));
decRef__system_5344(T10_);
}
LA8_: ;
nimln_(288, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
(*dest) = src;
popFrame();
}
N_LIB_PRIVATE N_NOINLINE(void, raiseEIO__systemZio_96)(NimStringDesc* msg) {
tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw* T1_;
NimStringDesc* T2_;
nimfr_("raiseEIO", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
T1_ = NIM_NIL;
T1_ = (tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw*) newObj((&NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_), sizeof(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw));
(*T1_).Sup.Sup.Sup.m_type = (&NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_);
(*T1_).Sup.Sup.name = "IOError";
T2_ = NIM_NIL;
T2_ = (*T1_).Sup.Sup.message; (*T1_).Sup.Sup.message = copyStringRC1(msg);
if (T2_) nimGCunrefNoCycle(T2_);
asgnRef((void**) (&(*T1_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(153, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
raiseExceptionEx((Exception*)T1_, "IOError", "raiseEIO", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim", 153);
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, checkErr__systemZio_141)(FILE* f) {
nimfr_("checkErr", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
nimln_(167, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{
int T3_;
NimStringDesc* msg;
NimStringDesc* T6_;
NimStringDesc* T7_;
NCSTRING T8_;
NimStringDesc* T9_;
T3_ = (int)0;
T3_ = ferror(f);
if (!!((T3_ == ((NI32) 0)))) goto LA4_;
nimln_(168, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
T6_ = NIM_NIL;
T7_ = NIM_NIL;
T7_ = dollar___systemZdollars_3(((NI) (errno)));
T8_ = (NCSTRING)0;
T8_ = strerror(errno);
T9_ = NIM_NIL;
T9_ = cstrToNimstr(T8_);
T6_ = rawNewString((T7_ ? T7_->Sup.len : 0) + (T9_ ? T9_->Sup.len : 0) + 10);
appendString(T6_, ((NimStringDesc*) &TM__MnCJ0VAmeZ9aTATUB39cx60Q_2));
appendString(T6_, T7_);
appendString(T6_, ((NimStringDesc*) &TM__MnCJ0VAmeZ9aTATUB39cx60Q_3));
appendString(T6_, T9_);
appendString(T6_, ((NimStringDesc*) &TM__MnCJ0VAmeZ9aTATUB39cx60Q_4));
msg = T6_;
nimln_(169, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
clearerr(f);
nimln_(170, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
raiseEIO__systemZio_96(msg);
}
LA4_: ;
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(NI, writeBuffer__systemZio_176)(FILE* f, void* buffer, NI len) {
NI result;
size_t T1_;
result = (NI)0;
T1_ = (size_t)0;
T1_ = fwrite(buffer, ((size_t) 1), ((size_t) (len)), f);
result = ((NI) (T1_));
checkErr__systemZio_141(f);
return result;
}
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s) {
NCSTRING result;
result = (NCSTRING)0;
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = (s == ((NimStringDesc*) NIM_NIL));
if (T3_) goto LA4_;
T3_ = ((*s).Sup.len == ((NI) 0));
LA4_: ;
if (!T3_) goto LA5_;
result = "";
}
goto LA1_;
LA5_: ;
{
result = ((NCSTRING) ((*s).data));
}
LA1_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, write__systemZio_205)(FILE* f, NimStringDesc* s) {
{
NI T3_;
if (((s ? s->Sup.len : 0)) < ((NI) 0) || ((s ? s->Sup.len : 0)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((s ? s->Sup.len : 0), ((NI) 0), ((NI) IL64(9223372036854775807))); }
T3_ = (NI)0;
T3_ = writeBuffer__systemZio_176(f, ((void*) (nimToCStringConv(s))), ((NI) ((s ? s->Sup.len : 0))));
if (!!((T3_ == (s ? s->Sup.len : 0)))) goto LA4_;
raiseEIO__systemZio_96(((NimStringDesc*) &TM__MnCJ0VAmeZ9aTATUB39cx60Q_5));
}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI argsLen_0) {
size_t T5_;
int T6_;
nimfr_("echoBinSafe", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
nimln_(815, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
flockfile(stdout);
{
NimStringDesc** s;
NI i;
s = (NimStringDesc**)0;
nimln_(8, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
i = ((NI) 0);
{
nimln_(9, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
while (1) {
size_t T4_;
NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_6;
if (!(i < argsLen_0)) goto LA3;
nimln_(818, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
if (i < 0 || i >= argsLen_0){ raiseIndexError2(i,argsLen_0-1); }
s = (&args[i]);
nimln_(822, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
nimln_(818, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
T4_ = (size_t)0;
T4_ = fwrite(((void*) (nimToCStringConv((*s)))), ((size_t) (((*s) ? (*s)->Sup.len : 0))), ((size_t) 1), stdout);
(void)(T4_);
nimln_(11, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
if (nimAddInt(i, ((NI) 1), &TM__MnCJ0VAmeZ9aTATUB39cx60Q_6)) { raiseOverflow(); };
i = (NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_6);
} LA3: ;
}
}
nimln_(824, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
T5_ = (size_t)0;
T5_ = fwrite(((void*) ("\012")), ((size_t) 1), ((size_t) 1), stdout);
(void)(T5_);
nimln_(825, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
T6_ = (int)0;
T6_ = fflush(stdout);
(void)(T6_);
nimln_(827, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
funlockfile(stdout);
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(int, getFileHandle__systemZio_228)(FILE* f) {
int result;
nimfr_("getFileHandle", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = (int)0;
nimln_(339, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
nimln_(344, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = fileno(f);
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, modeIsDir__systemZio_377)(mode_t m) {
NIM_BOOL result;
nimfr_("modeIsDir", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = (NIM_BOOL)0;
nimln_(668, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
nimln_(669, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = ((NI32)(m & ((NI32) 61440)) == ((NI32) 16384));
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, close__systemZio_217)(FILE* f) {
nimfr_("close", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
nimln_(322, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{
int T5_;
if (!!((f == 0))) goto LA3_;
nimln_(323, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
T5_ = (int)0;
T5_ = fclose(f);
(void)(T5_);
}
LA3_: ;
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, open__systemZio_392)(FILE** f, NimStringDesc* filename, tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg mode, NI bufSize) {
NIM_BOOL result;
void* p;
nimfr_("open", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{ result = (NIM_BOOL)0;
nimln_(695, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
p = fopen(nimToCStringConv(filename), FormatOpen__systemZio_371[(mode)- 0]);
nimln_(696, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{
FILE* f2;
struct stat res;
if (!!((p == NIM_NIL))) goto LA3_;
nimln_(697, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
f2 = ((FILE*) (p));
nimln_(703, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{
NIM_BOOL T7_;
int T8_;
int T9_;
T7_ = (NIM_BOOL)0;
T8_ = (int)0;
T8_ = getFileHandle__systemZio_228(f2);
T9_ = (int)0;
T9_ = fstat(T8_, (&res));
T7_ = (((NI32) 0) <= T9_);
if (!(T7_)) goto LA10_;
T7_ = modeIsDir__systemZio_377(res.st_mode);
LA10_: ;
if (!T7_) goto LA11_;
nimln_(704, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
close__systemZio_217(f2);
nimln_(705, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = NIM_FALSE;
goto BeforeRet_;
}
LA11_: ;
nimln_(712, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = NIM_TRUE;
nimln_(713, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
(*f) = ((FILE*) (p));
nimln_(714, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{
NIM_BOOL T15_;
int T19_;
T15_ = (NIM_BOOL)0;
T15_ = (((NI) 0) < bufSize);
if (!(T15_)) goto LA16_;
T15_ = (bufSize <= ((NI) 2147483647));
LA16_: ;
if (!T15_) goto LA17_;
nimln_(715, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
T19_ = (int)0;
T19_ = setvbuf((*f), NIM_NIL, _IOFBF, ((size_t) (bufSize)));
(void)(T19_);
}
goto LA13_;
LA17_: ;
{
int T23_;
nimln_(716, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
if (!(bufSize == ((NI) 0))) goto LA21_;
nimln_(717, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
T23_ = (int)0;
T23_ = setvbuf((*f), NIM_NIL, _IONBF, ((size_t) 0));
(void)(T23_);
}
goto LA13_;
LA21_: ;
LA13_: ;
}
LA3_: ;
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, endOfFile__systemZio_337)(FILE* f) {
NIM_BOOL result;
int c;
int T1_;
nimfr_("endOfFile", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{ result = (NIM_BOOL)0;
nimln_(559, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
c = fgetc(f);
nimln_(560, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
T1_ = (int)0;
T1_ = ungetc(c, f);
(void)(T1_);
nimln_(561, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = (c < ((NI32) 0));
goto BeforeRet_;
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, setFilePos__systemZio_439)(FILE* f, NI64 pos, tyEnum_FileSeekPos__I9aQjuvWxs8BspGbxwsngWw relativeTo) {
nimfr_("setFilePos", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
nimln_(764, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{
int T3_;
T3_ = (int)0;
T3_ = fseeko(f, pos, ((int) (relativeTo)));
if (!!((T3_ == ((NI32) 0)))) goto LA4_;
nimln_(765, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
raiseEIO__systemZio_96(((NimStringDesc*) &TM__MnCJ0VAmeZ9aTATUB39cx60Q_7));
}
LA4_: ;
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(NI64, getFilePos__systemZio_452)(FILE* f) {
NI64 result;
nimfr_("getFilePos", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = (NI64)0;
nimln_(770, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = ftello(f);
nimln_(771, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{
if (!(result < IL64(0))) goto LA3_;
raiseEIO__systemZio_96(((NimStringDesc*) &TM__MnCJ0VAmeZ9aTATUB39cx60Q_8));
}
LA3_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, readBuffer__systemZio_144)(FILE* f, void* buffer, NI len) {
NI result;
size_t T1_;
result = (NI)0;
T1_ = (size_t)0;
T1_ = fread(buffer, ((size_t) 1), ((size_t) (len)), f);
result = ((NI) (T1_));
{
if (!!((result == ((NI) (len))))) goto LA4_;
checkErr__systemZio_141(f);
}
LA4_: ;
return result;
}
static N_INLINE(NIM_BOOL, eqeq___system_7770)(NCSTRING x, NCSTRING y) {
NIM_BOOL result;
nimfr_("==", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
result = (NIM_BOOL)0;
nimln_(2994, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
{
if (!(((void*) (x)) == ((void*) (y)))) goto LA3_;
result = NIM_TRUE;
}
goto LA1_;
LA3_: ;
{
NIM_BOOL T6_;
nimln_(2995, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
T6_ = (NIM_BOOL)0;
T6_ = (x == 0);
if (T6_) goto LA7_;
T6_ = (y == 0);
LA7_: ;
if (!T6_) goto LA8_;
result = NIM_FALSE;
}
goto LA1_;
LA8_: ;
{
int T11_;
nimln_(2996, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
T11_ = (int)0;
T11_ = strcmp(x, y);
result = (T11_ == ((NI32) 0));
}
LA1_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, readLine__systemZio_238)(FILE* f, NimStringDesc** line) {
NIM_BOOL result;
NI pos;
NI sp;
nimfr_("readLine", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{ result = (NIM_BOOL)0;
nimln_(449, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
pos = ((NI) 0);
nimln_(452, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
sp = ((((*line) ? (*line)->Sup.len : 0) >= ((NI) 80)) ? ((*line) ? (*line)->Sup.len : 0) : ((NI) 80));
nimln_(453, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
if ((sp) < ((NI) 0) || (sp) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(sp, ((NI) 0), ((NI) IL64(9223372036854775807))); }
unsureAsgnRef((void**) (&(*line)), setLengthStr((*line), ((NI) (sp))));
{
nimln_(455, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
while (1) {
NIM_BOOL fgetsSuccess;
void* m;
NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_20;
NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_21;
{
NI i;
NI i_2;
i = (NI)0;
nimln_(119, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
i_2 = ((NI) 0);
{
nimln_(120, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
while (1) {
NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_9;
NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_10;
if (!(i_2 < sp)) goto LA5;
nimln_(458, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
i = i_2;
if (nimAddInt(pos, i, &TM__MnCJ0VAmeZ9aTATUB39cx60Q_9)) { raiseOverflow(); };
if ((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_9) < 0 || (NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_9) >= ((*line) ? (*line)->Sup.len : 0)){ raiseIndexError2((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_9),((*line) ? (*line)->Sup.len : 0)-1); }
(*line)->data[(NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_9)] = 10;
nimln_(122, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
if (nimAddInt(i_2, ((NI) 1), &TM__MnCJ0VAmeZ9aTATUB39cx60Q_10)) { raiseOverflow(); };
i_2 = (NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_10);
} LA5: ;
}
}
fgetsSuccess = (NIM_BOOL)0;
{
nimln_(461, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
while (1) {
{
NCSTRING T9_;
NIM_BOOL T10_;
nimln_(464, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
if (pos < 0 || pos >= ((*line) ? (*line)->Sup.len : 0)){ raiseIndexError2(pos,((*line) ? (*line)->Sup.len : 0)-1); }
if ((sp) < ((int) (-2147483647 -1)) || (sp) > ((int) 2147483647)){ raiseRangeErrorI(sp, ((int) (-2147483647 -1)), ((int) 2147483647)); }
T9_ = (NCSTRING)0;
T9_ = fgets(((NCSTRING) ((&(*line)->data[pos]))), ((int) (sp)), f);
T10_ = (NIM_BOOL)0;
T10_ = eqeq___system_7770(T9_, ((NCSTRING) NIM_NIL));
fgetsSuccess = !(T10_);
nimln_(465, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{
if (!fgetsSuccess) goto LA13_;
goto LA6;
}
LA13_: ;
nimln_(467, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{
if (!(errno == EINTR)) goto LA17_;
nimln_(468, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
errno = ((int) 0);
nimln_(469, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
clearerr(f);
nimln_(470, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
goto LA8;
}
LA17_: ;
nimln_(471, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
checkErr__systemZio_141(f);
nimln_(472, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
goto LA6;
} LA8: ;
}
} LA6: ;
nimln_(474, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
if (pos < 0 || pos >= ((*line) ? (*line)->Sup.len : 0)){ raiseIndexError2(pos,((*line) ? (*line)->Sup.len : 0)-1); }
m = memchr(((void*) ((&(*line)->data[pos]))), ((int) 10), ((size_t) (sp)));
nimln_(475, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{
NI last;
NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_11;
NIM_BOOL T42_;
if (!!((m == NIM_NIL))) goto LA21_;
nimln_(477, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
if (((NI) 0) < 0 || ((NI) 0) >= ((*line) ? (*line)->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*line) ? (*line)->Sup.len : 0)-1); }
if (nimSubInt(((NI) (ptrdiff_t) (m)), ((NI) (ptrdiff_t) ((&(*line)->data[((NI) 0)]))), &TM__MnCJ0VAmeZ9aTATUB39cx60Q_11)) { raiseOverflow(); };
last = (NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_11);
nimln_(478, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{
NIM_BOOL T25_;
NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_12;
NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_13;
NIM_BOOL T29_;
T25_ = (NIM_BOOL)0;
T25_ = (((NI) 0) < last);
if (!(T25_)) goto LA26_;
if (nimSubInt(last, ((NI) 1), &TM__MnCJ0VAmeZ9aTATUB39cx60Q_12)) { raiseOverflow(); };
if ((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_12) < 0 || (NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_12) >= ((*line) ? (*line)->Sup.len : 0)){ raiseIndexError2((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_12),((*line) ? (*line)->Sup.len : 0)-1); }
T25_ = ((NU8)((*line)->data[(NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_12)]) == (NU8)(13));
LA26_: ;
if (!T25_) goto LA27_;
nimln_(479, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
if (nimSubInt(last, ((NI) 1), &TM__MnCJ0VAmeZ9aTATUB39cx60Q_13)) { raiseOverflow(); };
if (((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_13)) < ((NI) 0) || ((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_13)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_13), ((NI) 0), ((NI) IL64(9223372036854775807))); }
unsureAsgnRef((void**) (&(*line)), setLengthStr((*line), ((NI) ((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_13)))));
nimln_(480, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
T29_ = (NIM_BOOL)0;
T29_ = (((NI) 1) < last);
if (T29_) goto LA30_;
T29_ = fgetsSuccess;
LA30_: ;
result = T29_;
goto BeforeRet_;
}
goto LA23_;
LA27_: ;
{
NIM_BOOL T32_;
NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_14;
nimln_(484, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
T32_ = (NIM_BOOL)0;
T32_ = (((NI) 0) < last);
if (!(T32_)) goto LA33_;
if (nimSubInt(last, ((NI) 1), &TM__MnCJ0VAmeZ9aTATUB39cx60Q_14)) { raiseOverflow(); };
if ((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_14) < 0 || (NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_14) >= ((*line) ? (*line)->Sup.len : 0)){ raiseIndexError2((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_14),((*line) ? (*line)->Sup.len : 0)-1); }
T32_ = ((NU8)((*line)->data[(NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_14)]) == (NU8)(0));
LA33_: ;
if (!T32_) goto LA34_;
nimln_(485, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{
NIM_BOOL T38_;
NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_15;
NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_16;
NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_17;
NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_18;
T38_ = (NIM_BOOL)0;
if (nimAddInt(pos, sp, &TM__MnCJ0VAmeZ9aTATUB39cx60Q_15)) { raiseOverflow(); };
if (nimSubInt((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_15), ((NI) 1), &TM__MnCJ0VAmeZ9aTATUB39cx60Q_16)) { raiseOverflow(); };
T38_ = (last < (NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_16));
if (!(T38_)) goto LA39_;
if (nimAddInt(last, ((NI) 1), &TM__MnCJ0VAmeZ9aTATUB39cx60Q_17)) { raiseOverflow(); };
if ((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_17) < 0 || (NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_17) >= ((*line) ? (*line)->Sup.len : 0)){ raiseIndexError2((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_17),((*line) ? (*line)->Sup.len : 0)-1); }
T38_ = !(((NU8)((*line)->data[(NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_17)]) == (NU8)(0)));
LA39_: ;
if (!T38_) goto LA40_;
nimln_(486, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
if (nimSubInt(last, ((NI) 1), &TM__MnCJ0VAmeZ9aTATUB39cx60Q_18)) { raiseOverflow(); };
last = (NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_18);
}
LA40_: ;
}
goto LA23_;
LA34_: ;
LA23_: ;
nimln_(487, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
if ((last) < ((NI) 0) || (last) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(last, ((NI) 0), ((NI) IL64(9223372036854775807))); }
unsureAsgnRef((void**) (&(*line)), setLengthStr((*line), ((NI) (last))));
nimln_(488, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
T42_ = (NIM_BOOL)0;
T42_ = (((NI) 0) < last);
if (T42_) goto LA43_;
T42_ = fgetsSuccess;
LA43_: ;
result = T42_;
goto BeforeRet_;
}
goto LA19_;
LA21_: ;
{
NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_19;
nimln_(491, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
if (nimSubInt(sp, ((NI) 1), &TM__MnCJ0VAmeZ9aTATUB39cx60Q_19)) { raiseOverflow(); };
sp = (NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_19);
}
LA19_: ;
nimln_(493, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
if (nimAddInt(pos, sp, &TM__MnCJ0VAmeZ9aTATUB39cx60Q_20)) { raiseOverflow(); };
pos = (NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_20);
nimln_(494, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
sp = ((NI) 128);
nimln_(495, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
if (nimAddInt(pos, sp, &TM__MnCJ0VAmeZ9aTATUB39cx60Q_21)) { raiseOverflow(); };
if (((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_21)) < ((NI) 0) || ((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_21)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_21), ((NI) 0), ((NI) IL64(9223372036854775807))); }
unsureAsgnRef((void**) (&(*line)), setLengthStr((*line), ((NI) ((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_21)))));
}
}
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, flushFile__systemZio_226)(FILE* f) {
int T1_;
nimfr_("flushFile", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
nimln_(336, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
T1_ = (int)0;
T1_ = fflush(f);
(void)(T1_);
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(NI64, getFileSize__systemZio_455)(FILE* f) {
NI64 result;
NI64 oldPos;
int T1_;
nimfr_("getFileSize", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = (NI64)0;
nimln_(775, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
oldPos = getFilePos__systemZio_452(f);
nimln_(776, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
T1_ = (int)0;
T1_ = fseeko(f, IL64(0), ((int) 2));
(void)(T1_);
nimln_(777, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = getFilePos__systemZio_452(f);
nimln_(778, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
setFilePos__systemZio_439(f, oldPos, ((tyEnum_FileSeekPos__I9aQjuvWxs8BspGbxwsngWw) 0));
popFrame();
return result;
}
static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
(*s).prev = excHandler__system_2565;
excHandler__system_2565 = s;
}
static N_INLINE(void, popSafePoint)(void) {
excHandler__system_2565 = (*excHandler__system_2565).prev;
}
static N_INLINE(TFrame*, getFrame)(void) {
TFrame* result;
result = (TFrame*)0;
result = framePtr__system_2564;
return result;
}
static N_INLINE(void, setFrame)(TFrame* s) {
framePtr__system_2564 = s;
}
N_LIB_PRIVATE N_NIMCALL(void, writeFile__systemZio_477)(NimStringDesc* filename, NimStringDesc* content) {
FILE* f;
TFrame* _nimCurFrame;
nimfr_("writeFile", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
_nimCurFrame = getFrame();
nimln_(876, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
f = ((FILE*) NIM_NIL);
nimln_(877, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{
NIM_BOOL T3_;
TSafePoint TM__MnCJ0VAmeZ9aTATUB39cx60Q_22;
T3_ = (NIM_BOOL)0;
T3_ = open__systemZio_392(&f, filename, ((tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg) 1), ((NI) -1));
if (!T3_) goto LA4_;
nimln_(878, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
pushSafePoint(&TM__MnCJ0VAmeZ9aTATUB39cx60Q_22);
TM__MnCJ0VAmeZ9aTATUB39cx60Q_22.status = setjmp(TM__MnCJ0VAmeZ9aTATUB39cx60Q_22.context);
if (TM__MnCJ0VAmeZ9aTATUB39cx60Q_22.status == 0) {
nimln_(879, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
write__systemZio_205(f, content);
popSafePoint();
}
else {
popSafePoint();
setFrame(_nimCurFrame);
}
{
nimln_(881, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
close__systemZio_217(f);
if (TM__MnCJ0VAmeZ9aTATUB39cx60Q_22.status != 0) nimLeaveFinally();
}
if (TM__MnCJ0VAmeZ9aTATUB39cx60Q_22.status != 0) reraiseException();
}
goto LA1_;
LA4_: ;
{
tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw* T9_;
NimStringDesc* T10_;
T9_ = NIM_NIL;
T9_ = (tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw*) newObj((&NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_), sizeof(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw));
(*T9_).Sup.Sup.Sup.m_type = (&NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_);
(*T9_).Sup.Sup.name = "IOError";
nimln_(883, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
T10_ = NIM_NIL;
T10_ = rawNewString((filename ? filename->Sup.len : 0) + 13);
appendString(T10_, ((NimStringDesc*) &TM__MnCJ0VAmeZ9aTATUB39cx60Q_23));
appendString(T10_, filename);
asgnRef((void**) (&(*T9_).Sup.Sup.message), T10_);
asgnRef((void**) (&(*T9_).Sup.Sup.parent), ((Exception*) NIM_NIL));
raiseExceptionEx((Exception*)T9_, "IOError", "writeFile", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim", 883);
}
LA1_: ;
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, setInheritable__systemZio_234)(int f, NIM_BOOL inheritable) {
NIM_BOOL result;
int T1_;
int T7_;
nimfr_("setInheritable", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = (NIM_BOOL)0;
nimln_(363, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
T1_ = (int)0;
{
if (!inheritable) goto LA4_;
T1_ = FIONCLEX;
}
goto LA2_;
LA4_: ;
{
T1_ = FIOCLEX;
}
LA2_: ;
T7_ = (int)0;
T7_ = ioctl(f, T1_);
result = !((T7_ == ((NI32) -1)));
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, open__systemZio_423)(FILE** f, int filehandle, tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg mode) {
NIM_BOOL result;
int oshandle;
nimfr_("open", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{ result = (NIM_BOOL)0;
nimln_(744, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
oshandle = filehandle;
nimln_(745, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = setInheritable__systemZio_234(oshandle, NIM_FALSE);
if (!!(T3_)) goto LA4_;
nimln_(746, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = NIM_FALSE;
goto BeforeRet_;
}
LA4_: ;
nimln_(747, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
(*f) = fdopen(filehandle, FormatOpen__systemZio_371[(mode)- 0]);
nimln_(748, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = !(((*f) == ((FILE*) NIM_NIL)));
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI64, rawFileSize__systemZio_333)(FILE* file) {
NI64 result;
NI64 oldPos;
int T1_;
int T2_;
nimfr_("rawFileSize", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = (NI64)0;
nimln_(552, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
oldPos = ftello(file);
nimln_(553, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
T1_ = (int)0;
T1_ = fseeko(file, IL64(0), ((int) 2));
(void)(T1_);
nimln_(554, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = ftello(file);
nimln_(555, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
T2_ = (int)0;
T2_ = fseeko(file, oldPos, ((int) 0));
(void)(T2_);
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readAllBuffer__systemZio_328)(FILE* file) {
NimStringDesc* result;
NimStringDesc* buffer;
nimfr_("readAllBuffer", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = NIM_NIL;
nimln_(539, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = ((NimStringDesc*) NIM_NIL);
nimln_(540, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
buffer = mnewString(((NI) 4000));
{
nimln_(541, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
while (1) {
NI bytesRead;
nimln_(542, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
if (((NI) 0) < 0 || ((NI) 0) >= (buffer ? buffer->Sup.len : 0)){ raiseIndexError2(((NI) 0),(buffer ? buffer->Sup.len : 0)-1); }
bytesRead = readBuffer__systemZio_144(file, ((void*) ((&buffer->data[((NI) 0)]))), ((NI) 4000));
nimln_(543, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{
if (!(bytesRead == ((NI) 4000))) goto LA5_;
nimln_(544, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = resizeString(result, (buffer ? buffer->Sup.len : 0) + 0);
appendString(result, buffer);
}
goto LA3_;
LA5_: ;
{
nimln_(546, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
if ((bytesRead) < ((NI) 0) || (bytesRead) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(bytesRead, ((NI) 0), ((NI) IL64(9223372036854775807))); }
buffer = setLengthStr(buffer, ((NI) (bytesRead)));
nimln_(547, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = resizeString(result, (buffer ? buffer->Sup.len : 0) + 0);
appendString(result, buffer);
nimln_(548, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
goto LA1;
}
LA3_: ;
}
} LA1: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readAllFile__systemZio_341)(FILE* file, NI64 len) {
NimStringDesc* result;
NI bytes;
nimfr_("readAllFile", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = NIM_NIL;
nimln_(567, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
if ((len) < ((NI) 0) || (len) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(len, ((NI) 0), ((NI) IL64(9223372036854775807))); }
result = mnewString(((NI) (len)));
nimln_(568, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
if (((NI) 0) < 0 || ((NI) 0) >= (result ? result->Sup.len : 0)){ raiseIndexError2(((NI) 0),(result ? result->Sup.len : 0)-1); }
if ((len) < ((NI) 0) || (len) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(len, ((NI) 0), ((NI) IL64(9223372036854775807))); }
bytes = readBuffer__systemZio_144(file, ((void*) ((&result->data[((NI) 0)]))), ((NI) (len)));
nimln_(569, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = endOfFile__systemZio_337(file);
if (!T3_) goto LA4_;
nimln_(570, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{
if (!(((NI64) (bytes)) < len)) goto LA8_;
nimln_(571, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
if ((bytes) < ((NI) 0) || (bytes) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(bytes, ((NI) 0), ((NI) IL64(9223372036854775807))); }
result = setLengthStr(result, ((NI) (bytes)));
}
LA8_: ;
}
goto LA1_;
LA4_: ;
{
NimStringDesc* T11_;
nimln_(575, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
T11_ = NIM_NIL;
T11_ = readAllBuffer__systemZio_328(file);
result = resizeString(result, (T11_ ? T11_->Sup.len : 0) + 0);
appendString(result, T11_);
}
LA1_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readAll__systemZio_350)(FILE* file) {
NimStringDesc* result;
NI64 len;
nimfr_("readAll", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = NIM_NIL;
nimln_(590, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{
if (!!((file == stdin))) goto LA3_;
len = rawFileSize__systemZio_333(file);
}
goto LA1_;
LA3_: ;
{
len = IL64(-1);
}
LA1_: ;
nimln_(593, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{
if (!(IL64(0) < len)) goto LA8_;
nimln_(594, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = readAllFile__systemZio_341(file, len);
}
goto LA6_;
LA8_: ;
{
nimln_(596, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = readAllBuffer__systemZio_328(file);
}
LA6_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readFile__systemZio_472)(NimStringDesc* filename) {
NimStringDesc* volatile result;
FILE* f;
TFrame* _nimCurFrame;
nimfr_("readFile", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
_nimCurFrame = getFrame();
result = NIM_NIL;
nimln_(863, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
f = ((FILE*) NIM_NIL);
nimln_(864, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{
NIM_BOOL T3_;
TSafePoint TM__MnCJ0VAmeZ9aTATUB39cx60Q_24;
T3_ = (NIM_BOOL)0;
T3_ = open__systemZio_392(&f, filename, ((tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg) 0), ((NI) -1));
if (!T3_) goto LA4_;
nimln_(865, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
pushSafePoint(&TM__MnCJ0VAmeZ9aTATUB39cx60Q_24);
TM__MnCJ0VAmeZ9aTATUB39cx60Q_24.status = setjmp(TM__MnCJ0VAmeZ9aTATUB39cx60Q_24.context);
if (TM__MnCJ0VAmeZ9aTATUB39cx60Q_24.status == 0) {
nimln_(866, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = readAll__systemZio_350(f);
popSafePoint();
}
else {
popSafePoint();
setFrame(_nimCurFrame);
}
{
nimln_(868, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
close__systemZio_217(f);
if (TM__MnCJ0VAmeZ9aTATUB39cx60Q_24.status != 0) nimLeaveFinally();
}
if (TM__MnCJ0VAmeZ9aTATUB39cx60Q_24.status != 0) reraiseException();
}
goto LA1_;
LA4_: ;
{
tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw* T9_;
NimStringDesc* T10_;
T9_ = NIM_NIL;
T9_ = (tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw*) newObj((&NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_), sizeof(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw));
(*T9_).Sup.Sup.Sup.m_type = (&NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_);
(*T9_).Sup.Sup.name = "IOError";
nimln_(870, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
T10_ = NIM_NIL;
T10_ = rawNewString((filename ? filename->Sup.len : 0) + 13);
appendString(T10_, ((NimStringDesc*) &TM__MnCJ0VAmeZ9aTATUB39cx60Q_23));
appendString(T10_, filename);
asgnRef((void**) (&(*T9_).Sup.Sup.message), T10_);
asgnRef((void**) (&(*T9_).Sup.Sup.parent), ((Exception*) NIM_NIL));
raiseExceptionEx((Exception*)T9_, "IOError", "readFile", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim", 870);
}
LA1_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(FILE*, open__systemZio_433)(NimStringDesc* filename, tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg mode, NI bufSize) {
FILE* result;
nimfr_("open", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = (FILE*)0;
nimln_(758, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{
NIM_BOOL T3_;
tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw* T6_;
NimStringDesc* T7_;
T3_ = (NIM_BOOL)0;
T3_ = open__systemZio_392(&result, filename, mode, bufSize);
if (!!(T3_)) goto LA4_;
T6_ = NIM_NIL;
T6_ = (tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw*) newObj((&NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_), sizeof(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw));
(*T6_).Sup.Sup.Sup.m_type = (&NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_);
(*T6_).Sup.Sup.name = "IOError";
nimln_(759, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
T7_ = NIM_NIL;
T7_ = rawNewString((filename ? filename->Sup.len : 0) + 13);
appendString(T7_, ((NimStringDesc*) &TM__MnCJ0VAmeZ9aTATUB39cx60Q_23));
appendString(T7_, filename);
asgnRef((void**) (&(*T6_).Sup.Sup.message), T7_);
asgnRef((void**) (&(*T6_).Sup.Sup.parent), ((Exception*) NIM_NIL));
raiseExceptionEx((Exception*)T6_, "IOError", "open", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim", 759);
}
LA4_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, readChars__systemZio_156)(FILE* f, NIM_CHAR* a, NI aLen_0) {
NI result;
result = (NI)0;
if (((NI) 0) < 0 || ((NI) 0) >= aLen_0){ raiseIndexError2(((NI) 0),aLen_0-1); }
if ((aLen_0) < ((NI) 0) || (aLen_0) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(aLen_0, ((NI) 0), ((NI) IL64(9223372036854775807))); }
result = readBuffer__systemZio_144(f, ((void*) ((&a[((NI) 0)]))), ((NI) (aLen_0)));
return result;
}
N_LIB_PRIVATE N_NOINLINE(void, raiseEOF__systemZio_117)(void) {
tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg* T1_;
NimStringDesc* T2_;
nimfr_("raiseEOF", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
T1_ = NIM_NIL;
T1_ = (tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg*) newObj((&NTIrefeoferror__LEclZrWX2FQAodlapxGITw_), sizeof(tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg));
(*T1_).Sup.Sup.Sup.Sup.m_type = (&NTIeoferror__KGSY1JdrNB7Xi8KDhXFhSg_);
(*T1_).Sup.Sup.Sup.name = "EOFError";
T2_ = NIM_NIL;
T2_ = (*T1_).Sup.Sup.Sup.message; (*T1_).Sup.Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__MnCJ0VAmeZ9aTATUB39cx60Q_25));
if (T2_) nimGCunrefNoCycle(T2_);
asgnRef((void**) (&(*T1_).Sup.Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(156, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
raiseExceptionEx((Exception*)T1_, "EOFError", "raiseEOF", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim", 156);
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readLine__systemZio_271)(FILE* f) {
NimStringDesc* result;
nimfr_("readLine", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = NIM_NIL;
nimln_(501, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = rawNewString(((NI) 80));
nimln_(502, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = readLine__systemZio_238(f, (&result));
if (!!(T3_)) goto LA4_;
raiseEOF__systemZio_117();
}
LA4_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_CHAR, readChar__systemZio_222)(FILE* f) {
NIM_CHAR result;
int x;
nimfr_("readChar", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
result = (NIM_CHAR)0;
nimln_(328, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
x = fgetc(f);
nimln_(329, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
{
if (!(x < ((NI32) 0))) goto LA3_;
nimln_(330, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
checkErr__systemZio_141(f);
nimln_(331, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
raiseEOF__systemZio_117();
}
LA3_: ;
nimln_(332, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
if ((x) < 0 || (x) > 255){ raiseRangeErrorU(x, 0, 255); }
result = ((NIM_CHAR) (x));
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminusathversionminus1minus6atslibatssystematsiodotnim_DatInit000)(void) {
static TNimNode TM__MnCJ0VAmeZ9aTATUB39cx60Q_0[1];
NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_.size = sizeof(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*);
NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_.align = NIM_ALIGNOF(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*);
NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_.kind = 24;
NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_.base = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_.marker = Marker_tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
NTIcfile__MAWzaQJYFu3mlxj0Ppxhmw_.size = sizeof(void*);
NTIcfile__MAWzaQJYFu3mlxj0Ppxhmw_.align = NIM_ALIGNOF(void*);
NTIcfile__MAWzaQJYFu3mlxj0Ppxhmw_.kind = 18;
NTIcfile__MAWzaQJYFu3mlxj0Ppxhmw_.base = 0;
NTIcfile__MAWzaQJYFu3mlxj0Ppxhmw_.flags = 1;
NTIcfile__MAWzaQJYFu3mlxj0Ppxhmw_.node = &TM__MnCJ0VAmeZ9aTATUB39cx60Q_0[0];
NTIfile__XBeRj4rw9bUuE7CB3DS1rgg_.size = sizeof(FILE*);
NTIfile__XBeRj4rw9bUuE7CB3DS1rgg_.align = NIM_ALIGNOF(FILE*);
NTIfile__XBeRj4rw9bUuE7CB3DS1rgg_.kind = 21;
NTIfile__XBeRj4rw9bUuE7CB3DS1rgg_.base = (&NTIcfile__MAWzaQJYFu3mlxj0Ppxhmw_);
NTIfile__XBeRj4rw9bUuE7CB3DS1rgg_.flags = 3;
NTIfilehandle__2gIj3gQlK3HZJjQaYCP6ZQ_.size = sizeof(int);
NTIfilehandle__2gIj3gQlK3HZJjQaYCP6ZQ_.align = NIM_ALIGNOF(int);
NTIfilehandle__2gIj3gQlK3HZJjQaYCP6ZQ_.kind = 34;
NTIfilehandle__2gIj3gQlK3HZJjQaYCP6ZQ_.base = 0;
NTIfilehandle__2gIj3gQlK3HZJjQaYCP6ZQ_.flags = 3;
}