2022-12-25 14:07:15 +02:00
/* Generated by Nim Compiler v1.6.11 */
2022-09-19 09:55:15 +03:00
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#include <unistd.h>
#include <errno.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <time.h>
#include <dirent.h>
#include <setjmp.h>
#include <stdio.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 NimStringDesc NimStringDesc ;
typedef struct TGenericSeq TGenericSeq ;
typedef struct tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA ;
typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA ;
typedef struct Exception Exception ;
typedef struct RootObj RootObj ;
typedef struct TNimType TNimType ;
typedef struct TNimNode TNimNode ;
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 tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ ;
typedef struct tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA ;
typedef struct tyTuple__UV3llMMYFckfui8YMBuUZA tyTuple__UV3llMMYFckfui8YMBuUZA ;
typedef struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw ;
typedef struct tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw ;
typedef struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg tyTuple__7q7q3E6Oj24ZNVJb9aonhAg ;
typedef struct tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q ;
typedef struct TSafePoint TSafePoint ;
typedef struct tyObject_FileInfo__i26mN9byzlhWT5HGlFoyCYQ tyObject_FileInfo__i26mN9byzlhWT5HGlFoyCYQ ;
typedef struct tyTuple__CjzvtqWyPaH89b7mBo9b6sZg tyTuple__CjzvtqWyPaH89b7mBo9b6sZg ;
typedef struct tyTuple__HFn8JzZZeLZ9aKrFg4S9a7HA tyTuple__HFn8JzZZeLZ9aKrFg4S9a7HA ;
typedef struct tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg ;
typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ ;
typedef struct tyTuple__LCURwohbLBusrL8hdCnvng tyTuple__LCURwohbLBusrL8hdCnvng ;
typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA ;
struct TGenericSeq {
NI len ;
NI reserved ;
};
struct NimStringDesc {
TGenericSeq Sup ;
NIM_CHAR data [ SEQ_DECL_SIZE ];
};
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 ;
};
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_OSError__BeJgrOdDsczOwEWOZbRfKA {
tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup ;
NI32 errorCode ;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind ;
NI offset ;
TNimType * typ ;
NCSTRING name ;
NI len ;
TNimNode ** sons ;
};
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 ;
};
struct tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA {
Exception Sup ;
};
struct tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ {
tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA Sup ;
};
struct tyTuple__UV3llMMYFckfui8YMBuUZA {
NimStringDesc * Field0 ;
NimStringDesc * Field1 ;
};
typedef NimStringDesc * tyArray__nHXaesL0DJZHyVS07ARPRA [ 1 ];
struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw {
tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup ;
};
struct tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw {
tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup ;
};
2022-12-25 14:07:15 +02:00
typedef NU8 tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg ;
2022-09-19 09:55:15 +03:00
typedef NU8 tySet_tyEnum_CopyFlag__pdzel23GjJ9cPFw8c5ldeRA ;
typedef NU8 tyEnum_CopyFlag__pdzel23GjJ9cPFw8c5ldeRA ;
typedef NU8 tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg ;
struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg {
NimStringDesc * Field0 ;
NimStringDesc * Field1 ;
NimStringDesc * Field2 ;
};
struct tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q {
NI64 seconds ;
NI nanosecond ;
};
typedef NimStringDesc * tyArray__sMpvt1sOxOJ3LFGulnbeMQ [ 4 ];
typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw [ 32 ];
typedef long tyArray__TcvIiMAJvcwzNLsZkfnFnQ [ 25 ];
struct TSafePoint {
TSafePoint * prev ;
NI status ;
jmp_buf context ;
};
typedef char tyArray__XKk9bNZbVEtY3RuROG9aRBgw [ 256 ];
struct tyTuple__CjzvtqWyPaH89b7mBo9b6sZg {
dev_t Field0 ;
ino_t Field1 ;
};
typedef NU16 tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ;
struct tyObject_FileInfo__i26mN9byzlhWT5HGlFoyCYQ {
tyTuple__CjzvtqWyPaH89b7mBo9b6sZg id ;
tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg kind ;
NI64 size ;
tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA permissions ;
NI64 linkCount ;
tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q lastAccessTime ;
tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q lastWriteTime ;
tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q creationTime ;
NI blockSize ;
};
typedef NU8 tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ;
struct tyTuple__HFn8JzZZeLZ9aKrFg4S9a7HA {
NimStringDesc * Field0 ;
tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA Field1 ;
};
struct tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg {
NI i ;
NI prev ;
NIM_BOOL notFirst ;
};
struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
NI Field0 ;
NI Field1 ;
};
struct tyTuple__LCURwohbLBusrL8hdCnvng {
tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg Field0 ;
NimStringDesc * Field1 ;
};
struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
NCSTRING procname ;
NI line ;
NCSTRING filename ;
};
struct tySequence__uB9b75OUPRENsBAu4AnoePA {
TGenericSeq Sup ;
tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data [ SEQ_DECL_SIZE ];
};
N_NIMCALL ( NimStringDesc * , mnewString )( NI len );
N_LIB_PRIVATE N_NOINLINE ( void , raiseRangeErrorI )( NI64 i , NI64 a , NI64 b );
2022-12-25 14:07:15 +02:00
static N_INLINE ( NIM_BOOL , eqeq___system_7770 )( NCSTRING x , NCSTRING y );
2022-09-19 09:55:15 +03:00
static N_INLINE ( void , nimFrame )( TFrame * s );
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NOINLINE ( void , callDepthLimitReached__system_2997 )( void );
2022-09-19 09:55:15 +03:00
static N_INLINE ( void , popFrame )( void );
static N_INLINE ( NCSTRING , nimToCStringConv )( NimStringDesc * s );
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , setLengthStr )( NimStringDesc * s , NI newLen );
N_LIB_PRIVATE N_NIMCALL ( NI32 , osLastError__pureZos_408 )( void );
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( void , failedAssertImpl__systemZassertions_56 )( NimStringDesc * msg );
2022-09-19 09:55:15 +03:00
N_LIB_PRIVATE N_NOINLINE ( void , raiseOSError__pureZos_405 )( NI32 errorCode , NimStringDesc * additionalInfo );
N_LIB_PRIVATE N_NOINLINE ( tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA * , newOSError__pureZos_379 )( NI32 errorCode , NimStringDesc * additionalInfo );
N_LIB_PRIVATE N_NOINLINE ( void * , newObj )( TNimType * typ , NI size );
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , osErrorMsg__pureZos_358 )( NI32 errorCode );
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , cstrToNimstr )( NCSTRING str );
static N_INLINE ( void , asgnRef )( void ** dest , void * src );
2022-12-25 14:07:15 +02:00
static N_INLINE ( void , incRef__system_5337 )( tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * c );
2022-09-19 09:55:15 +03:00
static N_INLINE ( NI , pluspercent___system_696 )( NI x , NI y );
2022-12-25 14:07:15 +02:00
static N_INLINE ( tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * , usrToCell__system_5299 )( void * usr );
2022-09-19 09:55:15 +03:00
static N_INLINE ( NI , minuspercent___system_716 )( NI x , NI y );
2022-12-25 14:07:15 +02:00
static N_INLINE ( void , decRef__system_5344 )( tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * c );
2022-09-19 09:55:15 +03:00
static N_INLINE ( NIM_BOOL , ltpercent___system_1005 )( NI x , NI y );
2022-12-25 14:07:15 +02:00
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 ( NIM_CHAR * , X5BX5D___system_7408 )( NimStringDesc ** s , NI i );
2022-09-19 09:55:15 +03:00
N_LIB_PRIVATE N_NOINLINE ( void , raiseOverflow )( void );
N_LIB_PRIVATE N_NOINLINE ( void , raiseIndexError2 )( NI i , NI n );
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , addChar )( NimStringDesc * s , NIM_CHAR c );
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 * , resizeString )( NimStringDesc * dest , NI addlen );
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , copyStringRC1 )( NimStringDesc * src );
static N_INLINE ( void , nimGCunrefNoCycle )( void * p );
N_LIB_PRIVATE N_NIMCALL ( void , raiseExceptionEx )( Exception * e , NCSTRING ename , NCSTRING procname , NCSTRING filename , NI line );
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , dollar___systemZdollars_3 )( NI x );
2022-09-19 09:55:15 +03:00
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , rawNewString )( NI space );
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , normalizePath__pureZpathnorm_127 )( NimStringDesc * path , NIM_CHAR dirSep );
N_NIMCALL ( NimStringDesc * , rawNewString )( NI cap );
N_LIB_PRIVATE N_NIMCALL ( void , joinPathImpl__pureZos_82 )( NimStringDesc ** result , NI * state , NimStringDesc * tail );
2022-12-25 14:07:15 +02:00
static N_INLINE ( NIM_CHAR , X5BX5D___system_7375 )( NimStringDesc * s , NI i );
2022-09-19 09:55:15 +03:00
N_LIB_PRIVATE N_NIMCALL ( void , normalizePathEnd__pureZos_51 )( NimStringDesc ** path , NIM_BOOL trailingSep );
N_LIB_PRIVATE N_NIMCALL ( void , unsureAsgnRef )( void ** dest , void * src );
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , copyString )( NimStringDesc * src );
N_LIB_PRIVATE N_NIMCALL ( void , addNormalizePath__pureZpathnorm_71 )( NimStringDesc * x , NimStringDesc ** result , NI * state , NIM_CHAR dirSep );
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , getEnv__pureZos_418 )( NimStringDesc * key , NimStringDesc * default_0 );
2022-09-19 09:55:15 +03:00
static N_INLINE ( NimStringDesc * , slash___pureZos_121 )( NimStringDesc * head , NimStringDesc * tail );
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , nosjoinPath )( NimStringDesc * head , NimStringDesc * tail );
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , substr__system_7790 )( NimStringDesc * s , NI first , NI last );
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , substr__system_7802 )( NimStringDesc * s , NI first );
static N_INLINE ( NIM_BOOL , contains__pureZos_653 )( NIM_CHAR * a , NI aLen_0 , NIM_CHAR item );
static N_INLINE ( NI , find__pureZos_658 )( NIM_CHAR * a , NI aLen_0 , NIM_CHAR item );
2022-09-19 09:55:15 +03:00
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , nosaddFileExt )( NimStringDesc * filename , NimStringDesc * ext );
N_LIB_PRIVATE N_NIMCALL ( NI , searchExtPos__pureZos_271 )( NimStringDesc * path );
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , normExt__pureZos_268 )( NimStringDesc * ext );
static N_INLINE ( void , appendChar )( NimStringDesc * dest , NIM_CHAR c );
N_LIB_PRIVATE N_NIMCALL ( NIM_BOOL , nosfileExists )( NimStringDesc * filename );
static N_INLINE ( void , nimZeroMem )( void * p , NI size );
static N_INLINE ( void , nimSetMem__systemZmemory_7 )( void * a , int v , NI size );
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , expandTilde__pureZos_578 )( NimStringDesc * path );
2022-09-19 09:55:15 +03:00
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , nosgetHomeDir )( void );
N_LIB_PRIVATE N_NIMCALL ( NIM_BOOL , nossymlinkExists )( NimStringDesc * link );
N_LIB_PRIVATE N_NIMCALL ( NIM_BOOL , nosisAbsolute )( NimStringDesc * path );
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , nosparentDir )( NimStringDesc * path );
N_LIB_PRIVATE N_NIMCALL ( NI , parentDirPos__pureZos_195 )( NimStringDesc * path );
static N_INLINE ( NIM_BOOL , eqStrings )( NimStringDesc * a , NimStringDesc * b );
static N_INLINE ( NIM_BOOL , equalMem__system_1735 )( void * a , void * b , NI size );
static N_INLINE ( int , nimCmpMem )( void * a , void * b , NI size );
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , dollar___pureZos_429 )( tyTuple__UV3llMMYFckfui8YMBuUZA x );
2022-09-19 09:55:15 +03:00
N_LIB_PRIVATE N_NIMCALL ( NIM_BOOL , nosexistsOrCreateDir )( NimStringDesc * dir );
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NIM_BOOL , rawCreateDir__pureZos_1406 )( NimStringDesc * dir );
2022-09-19 09:55:15 +03:00
N_LIB_PRIVATE N_NIMCALL ( NIM_BOOL , nosdirExists )( NimStringDesc * dir );
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NIM_BOOL , open__systemZio_392 )( FILE ** f , NimStringDesc * filename , tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg mode , NI bufSize );
N_LIB_PRIVATE N_NIMCALL ( NI64 , getFileSize__systemZio_455 )( FILE * f );
N_LIB_PRIVATE N_NIMCALL ( void , close__systemZio_217 )( FILE * f );
2022-09-19 09:55:15 +03:00
static N_INLINE ( NI , countBits32 )( NU32 n );
static N_INLINE ( NI , countSetBitsImpl__systemZcountbits95impl_26 )( NU32 x );
N_CDECL ( int , __builtin_popcount )( unsigned int x );
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( void , createSymlink__pureZos_1011 )( NimStringDesc * src , NimStringDesc * dest );
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , expandSymlink__pureZos_1017 )( NimStringDesc * symlinkPath );
2022-09-19 09:55:15 +03:00
N_LIB_PRIVATE N_NOCONV ( void * , allocImpl__system_1743 )( NI size );
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NI , readBuffer__systemZio_144 )( FILE * f , void * buffer , NI len );
N_LIB_PRIVATE N_NIMCALL ( NI , writeBuffer__systemZio_176 )( FILE * f , void * buffer , NI len );
2022-09-19 09:55:15 +03:00
N_LIB_PRIVATE N_NOCONV ( void , dealloc )( void * p );
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( void , flushFile__systemZio_226 )( FILE * f );
2022-09-19 09:55:15 +03:00
static N_INLINE ( tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q , toTime__pureZos_17 )( struct timespec ts );
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q , initTime__pureZtimes_897 )( NI64 unix_0 , NI nanosecond );
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , getApplAux__pureZos_1549 )( NimStringDesc * procPath );
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , getApplHeuristic__pureZos_1553 )( void );
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , paramStr__pureZos_1526 )( NI i );
N_LIB_PRIVATE N_NIMCALL ( NIM_BOOL , existsEnv__pureZos_423 )( NimStringDesc * key );
2022-09-19 09:55:15 +03:00
N_LIB_PRIVATE N_NIMCALL ( void , nossplitPath )( NimStringDesc * path , tyTuple__UV3llMMYFckfui8YMBuUZA * Result );
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , nospquoteShellPosix )( NimStringDesc * s );
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NIM_BOOL , allCharsInSet__pureZstrutils_1402 )( NimStringDesc * s , tySet_tyChar__nmiMWKVIe46vacnhAFrQvw theSet );
2022-09-19 09:55:15 +03:00
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , nsuReplaceStr )( NimStringDesc * s , NimStringDesc * sub , NimStringDesc * by );
N_LIB_PRIVATE N_NIMCALL ( NIM_BOOL , WIFSIGNALED__posixZposix_1063 )( int s );
N_LIB_PRIVATE N_NIMCALL ( int , WTERMSIG__posixZposix_1054 )( int s );
N_LIB_PRIVATE N_NIMCALL ( int , WEXITSTATUS__posixZposix_1047 )( int s );
N_LIB_PRIVATE N_NIMCALL ( NI , cmp__system_1549 )( NimStringDesc * x , NimStringDesc * y );
N_LIB_PRIVATE N_NIMCALL ( NI , nsuCmpIgnoreCase )( NimStringDesc * a , NimStringDesc * b );
static N_INLINE ( void , pushSafePoint )( TSafePoint * s );
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg , getSymlinkFileKind__pureZos_1220 )( NimStringDesc * path );
2022-09-19 09:55:15 +03:00
N_LIB_PRIVATE N_NIMCALL ( void , nosremoveFile )( NimStringDesc * file );
N_LIB_PRIVATE N_NIMCALL ( NIM_BOOL , nostryRemoveFile )( NimStringDesc * file );
N_LIB_PRIVATE N_NIMCALL ( void , nosremoveDir )( NimStringDesc * dir , NIM_BOOL checkDir );
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 );
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( void , rawRemoveDir__pureZos_1399 )( NimStringDesc * dir );
2022-09-19 09:55:15 +03:00
N_LIB_PRIVATE N_NOINLINE ( void , raiseRangeErrorNoArgs )( void );
N_LIB_PRIVATE N_NIMCALL ( void , noscopyFile )( NimStringDesc * source , NimStringDesc * dest , tySet_tyEnum_CopyFlag__pdzel23GjJ9cPFw8c5ldeRA options );
N_LIB_PRIVATE N_NIMCALL ( void , nossetFilePermissions )( NimStringDesc * filename , tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA permissions , NIM_BOOL followSymlinks );
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , dollar___pureZos_873 )( tyTuple__HFn8JzZZeLZ9aKrFg4S9a7HA x );
2022-09-19 09:55:15 +03:00
N_LIB_PRIVATE N_NIMCALL ( tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA , nosgetFilePermissions )( NimStringDesc * filename );
static N_INLINE ( void , popCurrentException )( void );
static N_INLINE ( void , normalizePathAux__pureZos_31 )( NimStringDesc ** path );
N_LIB_PRIVATE N_NIMCALL ( void , nosnormalizePath )( NimStringDesc ** path );
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , absolutePathInternal__pureZos_49 )( NimStringDesc * path );
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , absolutePath__pureZos_735 )( NimStringDesc * path , NimStringDesc * root );
2022-09-19 09:55:15 +03:00
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , nosgetCurrentDir )( void );
N_LIB_PRIVATE N_NIMCALL ( NIM_BOOL , hasNext__pureZpathnorm_6 )( tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg it , NimStringDesc * x );
N_LIB_PRIVATE N_NIMCALL ( tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ , next__pureZpathnorm_10 )( tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg * it , NimStringDesc * x );
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , nospquoteShell )( NimStringDesc * s );
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( int , exitStatusLikeShell__pureZos_1100 )( int status );
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_2 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim(1417, 21) `bufsize >= 0` " , 94 );
2022-09-19 09:55:15 +03:00
extern TNimType NTIrefoserror__9clYsYwyjCqe2PFTuCI3Ubg_ ;
extern TNimType NTIoserror__BeJgrOdDsczOwEWOZbRfKA_ ;
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_4 , "Additional info: " , 17 );
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_5 , "unknown OS error" , 16 );
extern TNimType NTIrefindexdefect__RJnHOb9cQV3neNC9cDkRgMyw_ ;
extern TNimType NTIindexdefect__n6tGEPHKkh7E1AP9bj30WrQ_ ;
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_8 , "index out of bounds, the container is empty" , 43 );
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_9 , "index " , 6 );
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_10 , " not in 0 .. " , 13 );
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_19 , "/" , 1 );
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_20 , "HOME" , 4 );
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_21 , "XDG_CONFIG_HOME" , 15 );
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_22 , ".config" , 7 );
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_32 , "PATH" , 4 );
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_39 , ".." , 2 );
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_40 , "." , 1 );
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA ExeExts__pureZos_645 = {(( NimStringDesc * ) NIM_NIL )}
2022-09-19 09:55:15 +03:00
;
extern TNimType NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_ ;
extern TNimType NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_ ;
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_44 , "The specified root is not absolute: " , 36 );
extern TNimType NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_ ;
extern TNimType NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_ ;
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_46 , "Failed to create \' " , 18 );
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_47 , " \' " , 1 );
2022-12-25 14:07:15 +02:00
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_50 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim(1851, 12) `card(copyFlagSymlink * options) == 1` There should be exactly one cfSymlink* in options" , 167 );
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_52 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim(2260, 11) `path != \"\" ` " , 92 );
2022-09-19 09:55:15 +03:00
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_62 , "/proc/self/exe" , 14 );
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_68 , "TMPDIR" , 6 );
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_69 , "TEMP" , 4 );
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_70 , "TMP" , 3 );
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_71 , "TEMPDIR" , 7 );
static NIM_CONST tyArray__sMpvt1sOxOJ3LFGulnbeMQ TM__yu6cxgKBBXbNsTkT9cyMd4g_67 = {(( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_68 ),
(( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_69 ),
(( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_70 ),
(( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_71 )}
;
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_73 , "/tmp" , 4 );
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_76 , " \'\' " , 2 );
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__yu6cxgKBBXbNsTkT9cyMd4g_77 = {
0x00 , 0x00 , 0x00 , 0x00 , 0x20 , 0xe8 , 0xff , 0x27 ,
0xff , 0xff , 0xff , 0x87 , 0xfe , 0xff , 0xff , 0x07 ,
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 }
;
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_78 , " \'\"\'\"\' " , 5 );
2022-12-25 14:07:15 +02:00
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_81 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim(3324, 15) `path != \"\" ` " , 92 );
2022-09-19 09:55:15 +03:00
N_LIB_PRIVATE TNimType NTIfilepermission__uTVeDpjCH6aWw9c74YkAskA_ ;
static NIM_CONST tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ TM__yu6cxgKBBXbNsTkT9cyMd4g_86 = {(( NI ) 0 ),
(( NI ) - 1 )}
;
STRING_LITERAL ( TM__yu6cxgKBBXbNsTkT9cyMd4g_95 , " " , 1 );
N_LIB_PRIVATE TNimType NTItupleLkind58pathcomponent_path58stringT__LCURwohbLBusrL8hdCnvng_ ;
N_LIB_PRIVATE TNimType NTIpathcomponent__9c1SIU9cO1wHcl09b703A9cDrg_ ;
extern TNimType NTIstring__77mFvmsOLKik79ci2hXkHEg_ ;
extern NCSTRING * environ ;
extern int cmdCount ;
extern NCSTRING * cmdLine ;
2022-12-25 14:07:15 +02:00
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 ;
extern Exception * currException__system_2566 ;
extern Exception * currException__system_2566 ;
2022-09-19 09:55:15 +03:00
static N_INLINE ( void , nimFrame )( TFrame * s ) {
{
2022-12-25 14:07:15 +02:00
if ( ! ( framePtr__system_2564 == (( TFrame * ) NIM_NIL ))) goto LA3_ ;
2022-09-19 09:55:15 +03:00
( * s ). calldepth = (( NI16 ) 0 );
}
goto LA1_ ;
LA3_ : ;
{
2022-12-25 14:07:15 +02:00
( * s ). calldepth = ( NI16 )(( * framePtr__system_2564 ). calldepth + (( NI16 ) 1 ));
2022-09-19 09:55:15 +03:00
}
LA1_ : ;
2022-12-25 14:07:15 +02:00
( * s ). prev = framePtr__system_2564 ;
framePtr__system_2564 = s ;
2022-09-19 09:55:15 +03:00
{
if ( ! (( * s ). calldepth == (( NI16 ) 2000 ))) goto LA8_ ;
2022-12-25 14:07:15 +02:00
callDepthLimitReached__system_2997 ();
2022-09-19 09:55:15 +03:00
}
LA8_ : ;
}
static N_INLINE ( void , popFrame )( void ) {
2022-12-25 14:07:15 +02:00
framePtr__system_2564 = ( * framePtr__system_2564 ). prev ;
2022-09-19 09:55:15 +03:00
}
2022-12-25 14:07:15 +02:00
static N_INLINE ( NIM_BOOL , eqeq___system_7770 )( NCSTRING x , NCSTRING y ) {
2022-09-19 09:55:15 +03:00
NIM_BOOL result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "==" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim" );
2022-09-19 09:55:15 +03:00
result = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2994 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! ((( void * ) ( x )) == (( void * ) ( y )))) goto LA3_ ;
result = NIM_TRUE ;
}
goto LA1_ ;
LA3_ : ;
{
NIM_BOOL T6_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2995 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim" );
2022-09-19 09:55:15 +03:00
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_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2996 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim" );
2022-09-19 09:55:15 +03:00
T11_ = ( int ) 0 ;
T11_ = strcmp ( x , y );
result = ( T11_ == (( NI32 ) 0 ));
}
LA1_ : ;
popFrame ();
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 ( NI32 , osLastError__pureZos_408 )( void ) {
NI32 result ;
result = ( NI32 ) 0 ;
result = errno ;
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , osErrorMsg__pureZos_358 )( NI32 errorCode ) {
NimStringDesc * result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "osErrorMsg" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 39 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim" );
2022-09-19 09:55:15 +03:00
result = (( NimStringDesc * ) NIM_NIL );
2022-12-25 14:07:15 +02:00
nimln_ ( 57 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim" );
2022-09-19 09:55:15 +03:00
{
NCSTRING T5_ ;
if ( !! (( errorCode == (( NI32 ) 0 )))) goto LA3_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 58 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim" );
2022-09-19 09:55:15 +03:00
T5_ = ( NCSTRING ) 0 ;
T5_ = strerror ( errorCode );
result = cstrToNimstr ( T5_ );
}
LA3_ : ;
popFrame ();
return result ;
}
static N_INLINE ( NI , pluspercent___system_696 )( NI x , NI y ) {
NI result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "+%" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim" );
2022-09-19 09:55:15 +03:00
result = ( NI ) 0 ;
2022-12-25 14:07:15 +02:00
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" );
2022-09-19 09:55:15 +03:00
result = (( NI ) (( NU )(( NU64 )((( NU ) ( x ))) + ( NU64 )((( NU ) ( y ))))));
popFrame ();
return result ;
}
2022-12-25 14:07:15 +02:00
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" );
2022-09-19 09:55:15 +03:00
( * c ). refcount = pluspercent___system_696 (( * c ). refcount , (( NI ) 8 ));
popFrame ();
}
static N_INLINE ( NI , minuspercent___system_716 )( NI x , NI y ) {
NI result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "-%" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim" );
2022-09-19 09:55:15 +03:00
result = ( NI ) 0 ;
2022-12-25 14:07:15 +02:00
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" );
2022-09-19 09:55:15 +03:00
result = (( NI ) (( NU )(( NU64 )((( NU ) ( x ))) - ( NU64 )((( NU ) ( y ))))));
popFrame ();
return result ;
}
2022-12-25 14:07:15 +02:00
static N_INLINE ( tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * , usrToCell__system_5299 )( void * usr ) {
2022-09-19 09:55:15 +03:00
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * result ;
NI T1_ ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "usrToCell" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim" );
2022-09-19 09:55:15 +03:00
result = ( tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 177 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim" );
2022-09-19 09:55:15 +03:00
T1_ = ( NI ) 0 ;
T1_ = minuspercent___system_716 ((( NI ) ( ptrdiff_t ) ( usr )), (( NI ) 16 ));
result = (( tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * ) ( T1_ ));
popFrame ();
return result ;
}
static N_INLINE ( NIM_BOOL , ltpercent___system_1005 )( NI x , NI y ) {
NIM_BOOL result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "<%" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/comparisons.nim" );
2022-09-19 09:55:15 +03:00
result = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
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" );
2022-09-19 09:55:15 +03:00
result = (( NU64 )((( NU ) ( x ))) < ( NU64 )((( NU ) ( y ))));
popFrame ();
return result ;
}
2022-12-25 14:07:15 +02:00
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 );
2022-09-19 09:55:15 +03:00
popFrame ();
}
2022-12-25 14:07:15 +02:00
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" );
2022-09-19 09:55:15 +03:00
( * c ). refcount = minuspercent___system_716 (( * c ). refcount , (( NI ) 8 ));
2022-12-25 14:07:15 +02:00
nimln_ ( 249 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T3_ ;
T3_ = ( NIM_BOOL ) 0 ;
T3_ = ltpercent___system_1005 (( * c ). refcount , (( NI ) 8 ));
if ( ! T3_ ) goto LA4_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 250 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim" );
rtlAddZCT__system_5342 ( c );
2022-09-19 09:55:15 +03:00
}
LA4_ : ;
popFrame ();
}
static N_INLINE ( void , asgnRef )( void ** dest , void * src ) {
2022-12-25 14:07:15 +02:00
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" );
2022-09-19 09:55:15 +03:00
{
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * T5_ ;
if ( !! (( src == NIM_NIL ))) goto LA3_ ;
T5_ = ( tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * ) 0 ;
2022-12-25 14:07:15 +02:00
T5_ = usrToCell__system_5299 ( src );
incRef__system_5337 ( T5_ );
2022-09-19 09:55:15 +03:00
}
LA3_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 287 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim" );
2022-09-19 09:55:15 +03:00
{
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * T10_ ;
if ( !! ((( * dest ) == NIM_NIL ))) goto LA8_ ;
T10_ = ( tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * ) 0 ;
2022-12-25 14:07:15 +02:00
T10_ = usrToCell__system_5299 (( * dest ));
decRef__system_5344 ( T10_ );
2022-09-19 09:55:15 +03:00
}
LA8_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 288 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim" );
2022-09-19 09:55:15 +03:00
( * dest ) = src ;
popFrame ();
}
2022-12-25 14:07:15 +02:00
static N_INLINE ( NIM_CHAR * , X5BX5D___system_7408 )( NimStringDesc ** s , NI i ) {
2022-09-19 09:55:15 +03:00
NIM_CHAR * result ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_3 ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "[]" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim" );
2022-09-19 09:55:15 +03:00
result = ( NIM_CHAR * ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2652 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim" );
2022-09-19 09:55:15 +03:00
if ( nimSubInt ((( * s ) ? ( * s ) -> Sup . len : 0 ), i , & TM__yu6cxgKBBXbNsTkT9cyMd4g_3 )) { raiseOverflow (); };
if (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_3 ) < 0 || ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_3 ) >= (( * s ) ? ( * s ) -> Sup . len : 0 )){ raiseIndexError2 (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_3 ),(( * s ) ? ( * s ) -> Sup . len : 0 ) - 1 ); }
result = ( & ( * s ) -> data [( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_3 )]);
popFrame ();
return result ;
}
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 , nimGCunrefNoCycle )( void * p ) {
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * T1_ ;
2022-12-25 14:07:15 +02:00
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" );
2022-09-19 09:55:15 +03:00
T1_ = ( tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * ) 0 ;
2022-12-25 14:07:15 +02:00
T1_ = usrToCell__system_5299 ( p );
decRef__system_5344 ( T1_ );
2022-09-19 09:55:15 +03:00
popFrame ();
}
N_LIB_PRIVATE N_NOINLINE ( tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA * , newOSError__pureZos_379 )( NI32 errorCode , NimStringDesc * additionalInfo ) {
tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA * result ;
tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA * e ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "newOSError" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim" );
2022-09-19 09:55:15 +03:00
{ result = NIM_NIL ;
e = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 78 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim" );
2022-09-19 09:55:15 +03:00
e = ( tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA * ) newObj (( & NTIrefoserror__9clYsYwyjCqe2PFTuCI3Ubg_ ), sizeof ( tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA ));
( * e ). Sup . Sup . Sup . m_type = ( & NTIoserror__BeJgrOdDsczOwEWOZbRfKA_ );
( * e ). Sup . Sup . name = "OSError" ;
2022-12-25 14:07:15 +02:00
nimln_ ( 79 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim" );
2022-09-19 09:55:15 +03:00
( * e ). errorCode = errorCode ;
2022-12-25 14:07:15 +02:00
nimln_ ( 80 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim" );
2022-09-19 09:55:15 +03:00
asgnRef (( void ** ) ( & ( * e ). Sup . Sup . message ), osErrorMsg__pureZos_358 ( errorCode ));
2022-12-25 14:07:15 +02:00
nimln_ ( 81 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! ((( NI ) 0 ) < ( additionalInfo ? additionalInfo -> Sup . len : 0 ))) goto LA3_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 82 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T7_ ;
NIM_CHAR * T9_ ;
T7_ = ( NIM_BOOL ) 0 ;
T7_ = ((( NI ) 0 ) < (( * e ). Sup . Sup . message ? ( * e ). Sup . Sup . message -> Sup . len : 0 ));
if ( ! ( T7_ )) goto LA8_ ;
T9_ = ( NIM_CHAR * ) 0 ;
2022-12-25 14:07:15 +02:00
T9_ = X5BX5D___system_7408 (( & ( * e ). Sup . Sup . message ), (( NI ) 1 ));
2022-09-19 09:55:15 +03:00
T7_ = ! ((( NU8 )(( * T9_ )) == ( NU8 )( 10 )));
LA8_ : ;
if ( ! T7_ ) goto LA10_ ;
asgnRef (( void ** ) ( & ( * e ). Sup . Sup . message ), addChar (( * e ). Sup . Sup . message , 10 ));
}
LA10_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 83 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim" );
2022-09-19 09:55:15 +03:00
asgnRef (( void ** ) ( & ( * e ). Sup . Sup . message ), resizeString (( * e ). Sup . Sup . message , 17 ));
appendString (( * e ). Sup . Sup . message , (( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_4 ));
2022-12-25 14:07:15 +02:00
nimln_ ( 84 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim" );
2022-09-19 09:55:15 +03:00
asgnRef (( void ** ) ( & ( * e ). Sup . Sup . message ), resizeString (( * e ). Sup . Sup . message , ( additionalInfo ? additionalInfo -> Sup . len : 0 ) + 0 ));
appendString (( * e ). Sup . Sup . message , additionalInfo );
}
LA3_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 86 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim" );
2022-09-19 09:55:15 +03:00
{
NimStringDesc * T16_ ;
if ( ! ((( * e ). Sup . Sup . message ? ( * e ). Sup . Sup . message -> Sup . len : 0 ) == 0 )) goto LA14_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 87 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim" );
2022-09-19 09:55:15 +03:00
T16_ = NIM_NIL ;
T16_ = ( * e ). Sup . Sup . message ; ( * e ). Sup . Sup . message = copyStringRC1 ((( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_5 ));
if ( T16_ ) nimGCunrefNoCycle ( T16_ );
}
LA14_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 88 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim" );
2022-09-19 09:55:15 +03:00
result = e ;
goto BeforeRet_ ;
} BeforeRet_ : ;
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NOINLINE ( void , raiseOSError__pureZos_405 )( NI32 errorCode , NimStringDesc * additionalInfo ) {
tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA * T1_ ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "raiseOSError" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim" );
nimln_ ( 95 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim" );
2022-09-19 09:55:15 +03:00
T1_ = NIM_NIL ;
T1_ = newOSError__pureZos_379 ( errorCode , additionalInfo );
2022-12-25 14:07:15 +02:00
raiseExceptionEx (( Exception * ) T1_ , "OSError" , "raiseOSError" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim" , 95 );
2022-09-19 09:55:15 +03:00
popFrame ();
}
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , nosgetCurrentDir )( void ) {
NimStringDesc * result ;
NI bufsize ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "getCurrentDir" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1407 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
bufsize = (( NI ) 1024 );
2022-12-25 14:07:15 +02:00
nimln_ ( 1408 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if (( bufsize ) < (( NI ) 0 ) || ( bufsize ) > (( NI ) IL64 ( 9223372036854775807 ))){ raiseRangeErrorI ( bufsize , (( NI ) 0 ), (( NI ) IL64 ( 9223372036854775807 ))); }
result = mnewString ((( NI ) ( bufsize )));
{
2022-12-25 14:07:15 +02:00
nimln_ ( 1409 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
while ( 1 ) {
2022-12-25 14:07:15 +02:00
nimln_ ( 1410 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NCSTRING T5_ ;
NIM_BOOL T6_ ;
int T9_ ;
T5_ = ( NCSTRING ) 0 ;
T5_ = getcwd ( nimToCStringConv ( result ), bufsize );
T6_ = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
T6_ = eqeq___system_7770 ( T5_ , (( NCSTRING ) NIM_NIL ));
2022-09-19 09:55:15 +03:00
if ( !! ( T6_ )) goto LA7_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1411 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T9_ = ( int ) 0 ;
T9_ = strlen ( nimToCStringConv ( result ));
if (( T9_ ) < (( NI ) 0 ) || ( T9_ ) > (( NI ) IL64 ( 9223372036854775807 ))){ raiseRangeErrorI ( T9_ , (( NI ) 0 ), (( NI ) IL64 ( 9223372036854775807 ))); }
result = setLengthStr ( result , (( NI ) ( T9_ )));
2022-12-25 14:07:15 +02:00
nimln_ ( 1412 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
goto LA1 ;
}
goto LA3_ ;
LA7_ : ;
{
NI32 err ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1414 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
err = osLastError__pureZos_408 ();
2022-12-25 14:07:15 +02:00
nimln_ ( 1415 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! ( err == (( int ) 34 ))) goto LA13_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1416 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
bufsize = ( NI )(( NU64 )( bufsize ) << ( NU64 )((( NI ) 1 )));
2022-12-25 14:07:15 +02:00
nimln_ ( 1417 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( !! (((( NI ) 0 ) <= bufsize ))) goto LA17_ ;
2022-12-25 14:07:15 +02:00
failedAssertImpl__systemZassertions_56 ((( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_2 ));
2022-09-19 09:55:15 +03:00
}
LA17_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1418 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if (( bufsize ) < (( NI ) 0 ) || ( bufsize ) > (( NI ) IL64 ( 9223372036854775807 ))){ raiseRangeErrorI ( bufsize , (( NI ) 0 ), (( NI ) IL64 ( 9223372036854775807 ))); }
result = mnewString ((( NI ) ( bufsize )));
}
goto LA11_ ;
LA13_ : ;
{
NI32 T20_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1420 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T20_ = ( NI32 ) 0 ;
T20_ = osLastError__pureZos_408 ();
raiseOSError__pureZos_405 ( T20_ , (( NimStringDesc * ) NIM_NIL ));
}
LA11_ : ;
}
LA3_ : ;
}
} LA1 : ;
popFrame ();
return result ;
}
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NI , paramCount__pureZos_1532 )( void ) {
2022-09-19 09:55:15 +03:00
NI result ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_6 ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "paramCount" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = ( NI ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2969 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( nimSubInt ( cmdCount , (( NI32 ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_6 )) { raiseOverflow (); };
if ( TM__yu6cxgKBBXbNsTkT9cyMd4g_6 < ( - 2147483647 - 1 ) || TM__yu6cxgKBBXbNsTkT9cyMd4g_6 > 2147483647 ){ raiseOverflow (); }
result = (( NI ) (( NI32 )( TM__yu6cxgKBBXbNsTkT9cyMd4g_6 )));
popFrame ();
return result ;
}
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , paramStr__pureZos_1526 )( NI i ) {
2022-09-19 09:55:15 +03:00
NimStringDesc * result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "paramStr" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2962 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T3_ ;
T3_ = ( NIM_BOOL ) 0 ;
T3_ = ( i < (( NI ) ( cmdCount )));
if ( ! ( T3_ )) goto LA4_ ;
T3_ = ((( NI ) 0 ) <= i );
LA4_ : ;
if ( ! T3_ ) goto LA5_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2963 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = cstrToNimstr ( cmdLine [ i ]);
}
goto LA1_ ;
LA5_ : ;
{
tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ * T8_ ;
T8_ = NIM_NIL ;
T8_ = ( tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ * ) newObj (( & NTIrefindexdefect__RJnHOb9cQV3neNC9cDkRgMyw_ ), sizeof ( tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ ));
( * T8_ ). Sup . Sup . Sup . m_type = ( & NTIindexdefect__n6tGEPHKkh7E1AP9bj30WrQ_ );
( * T8_ ). Sup . Sup . name = "IndexDefect" ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2965 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_7 ;
NimStringDesc * T13_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 8 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/indexerrors.nim" );
nimln_ ( 2965 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( nimSubInt ( cmdCount , (( NI32 ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_7 )) { raiseOverflow (); };
if ( TM__yu6cxgKBBXbNsTkT9cyMd4g_7 < ( - 2147483647 - 1 ) || TM__yu6cxgKBBXbNsTkT9cyMd4g_7 > 2147483647 ){ raiseOverflow (); }
if ( ! (( NI32 )( TM__yu6cxgKBBXbNsTkT9cyMd4g_7 ) < (( NI32 ) 0 ))) goto LA11_ ;
T13_ = NIM_NIL ;
T13_ = ( * T8_ ). Sup . Sup . message ; ( * T8_ ). Sup . Sup . message = copyStringRC1 ((( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_8 ));
if ( T13_ ) nimGCunrefNoCycle ( T13_ );
}
goto LA9_ ;
LA11_ : ;
{
NimStringDesc * T15_ ;
NimStringDesc * T16_ ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_11 ;
NimStringDesc * T17_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 9 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/indexerrors.nim" );
2022-09-19 09:55:15 +03:00
T15_ = NIM_NIL ;
T16_ = NIM_NIL ;
2022-12-25 14:07:15 +02:00
T16_ = dollar___systemZdollars_3 ( i );
nimln_ ( 2965 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( nimSubInt ( cmdCount , (( NI32 ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_11 )) { raiseOverflow (); };
if ( TM__yu6cxgKBBXbNsTkT9cyMd4g_11 < ( - 2147483647 - 1 ) || TM__yu6cxgKBBXbNsTkT9cyMd4g_11 > 2147483647 ){ raiseOverflow (); }
2022-12-25 14:07:15 +02:00
nimln_ ( 9 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/indexerrors.nim" );
2022-09-19 09:55:15 +03:00
T17_ = NIM_NIL ;
2022-12-25 14:07:15 +02:00
T17_ = dollar___systemZdollars_3 ((( NI ) (( NI32 )( TM__yu6cxgKBBXbNsTkT9cyMd4g_11 ))));
2022-09-19 09:55:15 +03:00
T15_ = rawNewString (( T16_ ? T16_ -> Sup . len : 0 ) + ( T17_ ? T17_ -> Sup . len : 0 ) + 19 );
appendString ( T15_ , (( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_9 ));
appendString ( T15_ , T16_ );
appendString ( T15_ , (( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_10 ));
appendString ( T15_ , T17_ );
asgnRef (( void ** ) ( & ( * T8_ ). Sup . Sup . message ), T15_ );
}
LA9_ : ;
asgnRef (( void ** ) ( & ( * T8_ ). Sup . Sup . parent ), (( Exception * ) NIM_NIL ));
2022-12-25 14:07:15 +02:00
nimln_ ( 2965 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
raiseExceptionEx (( Exception * ) T8_ , "IndexDefect" , "paramStr" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" , 2965 );
2022-09-19 09:55:15 +03:00
}
LA1_ : ;
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , nosnormalizedPath )( NimStringDesc * path ) {
NimStringDesc * result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "normalizedPath" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1533 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = normalizePath__pureZpathnorm_127 ( path , 47 );
popFrame ();
return result ;
}
2022-12-25 14:07:15 +02:00
static N_INLINE ( NIM_CHAR , X5BX5D___system_7375 )( NimStringDesc * s , NI i ) {
2022-09-19 09:55:15 +03:00
NIM_CHAR result ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_13 ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "[]" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim" );
2022-09-19 09:55:15 +03:00
result = ( NIM_CHAR ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2646 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim" );
2022-09-19 09:55:15 +03:00
if ( nimSubInt (( s ? s -> Sup . len : 0 ), i , & TM__yu6cxgKBBXbNsTkT9cyMd4g_13 )) { raiseOverflow (); };
if (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_13 ) < 0 || ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_13 ) >= ( s ? s -> Sup . len : 0 )){ raiseIndexError2 (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_13 ),( s ? s -> Sup . len : 0 ) - 1 ); }
result = s -> data [( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_13 )];
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( void , normalizePathEnd__pureZos_51 )( NimStringDesc ** path , NIM_BOOL trailingSep ) {
NI i ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "normalizePathEnd" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
{ nimln_ ( 104 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! ((( * path ) ? ( * path ) -> Sup . len : 0 ) == (( NI ) 0 ))) goto LA3_ ;
goto BeforeRet_ ;
}
LA3_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 105 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
i = (( * path ) ? ( * path ) -> Sup . len : 0 );
{
2022-12-25 14:07:15 +02:00
nimln_ ( 106 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
while ( 1 ) {
if ( ! ((( NI ) 1 ) <= i )) goto LA6 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 107 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_14 ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_15 ;
if ( nimSubInt ( i , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_14 )) { raiseOverflow (); };
if (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_14 ) < 0 || ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_14 ) >= (( * path ) ? ( * path ) -> Sup . len : 0 )){ raiseIndexError2 (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_14 ),(( * path ) ? ( * path ) -> Sup . len : 0 ) - 1 ); }
if ( ! ((( NU8 )(( * path ) -> data [( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_14 )])) == (( NU8 )( 47 )) || (( NU8 )(( * path ) -> data [( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_14 )])) == (( NU8 )( 47 )))) goto LA9_ ;
if ( nimSubInt ( i , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_15 )) { raiseOverflow (); };
i = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_15 );
}
goto LA7_ ;
LA9_ : ;
{
NIM_BOOL T12_ ;
NIM_BOOL T13_ ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_16 ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_17 ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_18 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 108 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T12_ = ( NIM_BOOL ) 0 ;
T13_ = ( NIM_BOOL ) 0 ;
if ( nimSubInt ( i , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_16 )) { raiseOverflow (); };
if (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_16 ) < 0 || ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_16 ) >= (( * path ) ? ( * path ) -> Sup . len : 0 )){ raiseIndexError2 (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_16 ),(( * path ) ? ( * path ) -> Sup . len : 0 ) - 1 ); }
T13_ = (( NU8 )(( * path ) -> data [( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_16 )]) == ( NU8 )( 46 ));
if ( ! ( T13_ )) goto LA14_ ;
T13_ = ((( NI ) 2 ) <= i );
LA14_ : ;
T12_ = T13_ ;
if ( ! ( T12_ )) goto LA15_ ;
if ( nimSubInt ( i , (( NI ) 2 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_17 )) { raiseOverflow (); };
if (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_17 ) < 0 || ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_17 ) >= (( * path ) ? ( * path ) -> Sup . len : 0 )){ raiseIndexError2 (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_17 ),(( * path ) ? ( * path ) -> Sup . len : 0 ) - 1 ); }
T12_ = ((( NU8 )(( * path ) -> data [( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_17 )])) == (( NU8 )( 47 )) || (( NU8 )(( * path ) -> data [( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_17 )])) == (( NU8 )( 47 )));
LA15_ : ;
if ( ! T12_ ) goto LA16_ ;
if ( nimSubInt ( i , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_18 )) { raiseOverflow (); };
i = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_18 );
}
goto LA7_ ;
LA16_ : ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 109 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
goto LA5 ;
}
LA7_ : ;
} LA6 : ;
} LA5 : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 110 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! trailingSep ) goto LA21_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 112 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if (( i ) < (( NI ) 0 ) || ( i ) > (( NI ) IL64 ( 9223372036854775807 ))){ raiseRangeErrorI ( i , (( NI ) 0 ), (( NI ) IL64 ( 9223372036854775807 ))); }
unsureAsgnRef (( void ** ) ( & ( * path )), setLengthStr (( * path ), (( NI ) ( i ))));
2022-12-25 14:07:15 +02:00
nimln_ ( 114 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
unsureAsgnRef (( void ** ) ( & ( * path )), addChar (( * path ), 47 ));
}
goto LA19_ ;
LA21_ : ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 115 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( ! ((( NI ) 0 ) < i )) goto LA24_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 117 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if (( i ) < (( NI ) 0 ) || ( i ) > (( NI ) IL64 ( 9223372036854775807 ))){ raiseRangeErrorI ( i , (( NI ) 0 ), (( NI ) IL64 ( 9223372036854775807 ))); }
unsureAsgnRef (( void ** ) ( & ( * path )), setLengthStr (( * path ), (( NI ) ( i ))));
}
goto LA19_ ;
LA24_ : ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 120 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
unsureAsgnRef (( void ** ) ( & ( * path )), copyString ((( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_19 )));
}
LA19_ : ;
} BeforeRet_ : ;
popFrame ();
}
N_LIB_PRIVATE N_NIMCALL ( void , joinPathImpl__pureZos_82 )( NimStringDesc ** result , NI * state , NimStringDesc * tail ) {
NIM_BOOL trailingSep ;
NIM_BOOL T1_ ;
NIM_BOOL T2_ ;
NIM_CHAR T4_ ;
NIM_BOOL T6_ ;
NIM_BOOL T8_ ;
NIM_CHAR * T10_ ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "joinPathImpl" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
nimln_ ( 141 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T1_ = ( NIM_BOOL ) 0 ;
T2_ = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 138 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T2_ = ((( NI ) 0 ) < ( tail ? tail -> Sup . len : 0 ));
if ( ! ( T2_ )) goto LA3_ ;
T4_ = ( NIM_CHAR ) 0 ;
2022-12-25 14:07:15 +02:00
T4_ = X5BX5D___system_7375 ( tail , (( NI ) 1 ));
2022-09-19 09:55:15 +03:00
T2_ = ((( NU8 )( T4_ )) == (( NU8 )( 47 )) || (( NU8 )( T4_ )) == (( NU8 )( 47 )));
LA3_ : ;
T1_ = T2_ ;
if ( T1_ ) goto LA5_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 141 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T6_ = ( NIM_BOOL ) 0 ;
T6_ = (( tail ? tail -> Sup . len : 0 ) == (( NI ) 0 ));
if ( ! ( T6_ )) goto LA7_ ;
T8_ = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 138 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T8_ = ((( NI ) 0 ) < (( * result ) ? ( * result ) -> Sup . len : 0 ));
if ( ! ( T8_ )) goto LA9_ ;
T10_ = ( NIM_CHAR * ) 0 ;
2022-12-25 14:07:15 +02:00
T10_ = X5BX5D___system_7408 ( result , (( NI ) 1 ));
2022-09-19 09:55:15 +03:00
T8_ = ((( NU8 )(( * T10_ ))) == (( NU8 )( 47 )) || (( NU8 )(( * T10_ ))) == (( NU8 )( 47 )));
LA9_ : ;
T6_ = T8_ ;
LA7_ : ;
T1_ = T6_ ;
LA5_ : ;
trailingSep = T1_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 142 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
normalizePathEnd__pureZos_51 ( result , NIM_FALSE );
2022-12-25 14:07:15 +02:00
nimln_ ( 143 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
addNormalizePath__pureZpathnorm_71 ( tail , result , state , 47 );
2022-12-25 14:07:15 +02:00
nimln_ ( 144 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
normalizePathEnd__pureZos_51 ( result , trailingSep );
popFrame ();
}
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , nosjoinPath )( NimStringDesc * head , NimStringDesc * tail ) {
NimStringDesc * result ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_12 ;
NI state ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "joinPath" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 172 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( nimAddInt (( head ? head -> Sup . len : 0 ), ( tail ? tail -> Sup . len : 0 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_12 )) { raiseOverflow (); };
if ((( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_12 )) < (( NI ) 0 ) || (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_12 )) > (( NI ) IL64 ( 9223372036854775807 ))){ raiseRangeErrorI (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_12 ), (( NI ) 0 ), (( NI ) IL64 ( 9223372036854775807 ))); }
result = rawNewString ((( NI ) (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_12 ))));
2022-12-25 14:07:15 +02:00
nimln_ ( 173 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
state = (( NI ) 0 );
2022-12-25 14:07:15 +02:00
nimln_ ( 174 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
joinPathImpl__pureZos_82 (( & result ), ( & state ), head );
2022-12-25 14:07:15 +02:00
nimln_ ( 175 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
joinPathImpl__pureZos_82 (( & result ), ( & state ), tail );
popFrame ();
return result ;
}
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , getEnv__pureZos_418 )( NimStringDesc * key , NimStringDesc * default_0 ) {
2022-09-19 09:55:15 +03:00
NimStringDesc * result ;
NCSTRING env ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "getEnv" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim" );
2022-09-19 09:55:15 +03:00
{ result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 70 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim" );
env = getenv ( nimToCStringConv ( key ));
nimln_ ( 71 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T3_ ;
T3_ = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
T3_ = eqeq___system_7770 ( env , (( NCSTRING ) NIM_NIL ));
2022-09-19 09:55:15 +03:00
if ( ! T3_ ) goto LA4_ ;
result = copyString ( default_0 );
goto BeforeRet_ ;
}
LA4_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 72 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim" );
2022-09-19 09:55:15 +03:00
result = cstrToNimstr ( env );
} BeforeRet_ : ;
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , nosgetHomeDir )( void ) {
NimStringDesc * result ;
NimStringDesc * T1_ ;
NimStringDesc * T2_ ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "getHomeDir" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{ result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 893 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T1_ = NIM_NIL ;
T2_ = NIM_NIL ;
2022-12-25 14:07:15 +02:00
T2_ = getEnv__pureZos_418 ((( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_20 ), (( NimStringDesc * ) NIM_NIL ));
2022-09-19 09:55:15 +03:00
T1_ = rawNewString (( T2_ ? T2_ -> Sup . len : 0 ) + 1 );
appendString ( T1_ , T2_ );
appendString ( T1_ , (( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_19 ));
result = T1_ ;
goto BeforeRet_ ;
} BeforeRet_ : ;
popFrame ();
return result ;
}
static N_INLINE ( NimStringDesc * , slash___pureZos_121 )( NimStringDesc * head , NimStringDesc * tail ) {
NimStringDesc * result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "/" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 234 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = nosjoinPath ( head , tail );
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , nosgetConfigDir )( void ) {
NimStringDesc * result ;
NimStringDesc * T1_ ;
NimStringDesc * T2_ ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "getConfigDir" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 916 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T1_ = NIM_NIL ;
2022-12-25 14:07:15 +02:00
T1_ = getEnv__pureZos_418 ((( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_20 ), (( NimStringDesc * ) NIM_NIL ));
2022-09-19 09:55:15 +03:00
T2_ = NIM_NIL ;
T2_ = slash___pureZos_121 ( T1_ , (( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_22 ));
2022-12-25 14:07:15 +02:00
result = getEnv__pureZos_418 ((( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_21 ), T2_ );
nimln_ ( 917 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
normalizePathEnd__pureZos_51 (( & result ), NIM_TRUE );
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( void , nossplitPath )( NimStringDesc * path , tyTuple__UV3llMMYFckfui8YMBuUZA * Result ) {
NI sepPos ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "splitPath" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
unsureAsgnRef (( void ** ) & ( * Result ). Field0 , NIM_NIL );
unsureAsgnRef (( void ** ) & ( * Result ). Field1 , NIM_NIL );
2022-12-25 14:07:15 +02:00
nimln_ ( 258 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
sepPos = (( NI ) - 1 );
{
NI i ;
NI colontmp_ ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_23 ;
NI res ;
i = ( NI ) 0 ;
colontmp_ = ( NI ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 259 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( nimSubInt (( path ? path -> Sup . len : 0 ), (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_23 )) { raiseOverflow (); };
colontmp_ = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_23 );
2022-12-25 14:07:15 +02:00
nimln_ ( 33 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim" );
2022-09-19 09:55:15 +03:00
res = colontmp_ ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 34 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim" );
2022-09-19 09:55:15 +03:00
while ( 1 ) {
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_24 ;
if ( ! ((( NI ) 0 ) <= res )) goto LA3 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 259 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
i = res ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 260 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( i < 0 || i >= ( path ? path -> Sup . len : 0 )){ raiseIndexError2 ( i ,( path ? path -> Sup . len : 0 ) - 1 ); }
if ( ! ((( NU8 )( path -> data [ i ])) == (( NU8 )( 47 )) || (( NU8 )( path -> data [ i ])) == (( NU8 )( 47 )))) goto LA6_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 261 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
sepPos = i ;
2022-12-25 14:07:15 +02:00
nimln_ ( 262 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
goto LA1 ;
}
LA6_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 36 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim" );
2022-09-19 09:55:15 +03:00
if ( nimSubInt ( res , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_24 )) { raiseOverflow (); };
res = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_24 );
} LA3 : ;
}
} LA1 : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 263 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NI T12_ ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_26 ;
if ( ! ((( NI ) 0 ) <= sepPos )) goto LA10_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 264 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T12_ = ( NI ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 268 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T15_ ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_25 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2093 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim" );
nimln_ ( 268 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
nimln_ ( 2093 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim" );
2022-09-19 09:55:15 +03:00
T15_ = ( NIM_BOOL ) 0 ;
T15_ = NIM_LIKELY (((( NI ) 1 ) <= sepPos ));
if ( ! T15_ ) goto LA16_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 268 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( nimSubInt ( sepPos , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_25 )) { raiseOverflow (); };
T12_ = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_25 );
}
goto LA13_ ;
LA16_ : ;
{
T12_ = (( NI ) 0 );
}
LA13_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 264 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
unsureAsgnRef (( void ** ) ( & ( * Result ). Field0 ), substr__system_7790 ( path , (( NI ) 0 ), T12_ ));
nimln_ ( 270 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( nimAddInt ( sepPos , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_26 )) { raiseOverflow (); };
2022-12-25 14:07:15 +02:00
unsureAsgnRef (( void ** ) ( & ( * Result ). Field1 ), substr__system_7802 ( path , ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_26 )));
2022-09-19 09:55:15 +03:00
}
goto LA8_ ;
LA10_ : ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 272 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
unsureAsgnRef (( void ** ) ( & ( * Result ). Field0 ), (( NimStringDesc * ) NIM_NIL ));
2022-12-25 14:07:15 +02:00
nimln_ ( 273 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
unsureAsgnRef (( void ** ) ( & ( * Result ). Field1 ), copyString ( path ));
}
LA8_ : ;
popFrame ();
}
2022-12-25 14:07:15 +02:00
static N_INLINE ( NI , find__pureZos_658 )( NIM_CHAR * a , NI aLen_0 , NIM_CHAR item ) {
2022-09-19 09:55:15 +03:00
NI result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "find" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim" );
2022-09-19 09:55:15 +03:00
{ result = ( NI ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1837 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim" );
2022-09-19 09:55:15 +03:00
result = (( NI ) 0 );
{
NIM_CHAR i ;
NI i_2 ;
i = ( NIM_CHAR ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 18 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim" );
2022-09-19 09:55:15 +03:00
i_2 = (( NI ) 0 );
{
2022-12-25 14:07:15 +02:00
nimln_ ( 19 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim" );
2022-09-19 09:55:15 +03:00
while ( 1 ) {
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_27 ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_28 ;
if ( ! ( i_2 < aLen_0 )) goto LA3 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1838 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim" );
2022-09-19 09:55:15 +03:00
if ( i_2 < 0 || i_2 >= aLen_0 ){ raiseIndexError2 ( i_2 , aLen_0 - 1 ); }
i = a [ i_2 ];
{
2022-12-25 14:07:15 +02:00
nimln_ ( 1839 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim" );
2022-09-19 09:55:15 +03:00
if ( ! (( NU8 )( i ) == ( NU8 )( item ))) goto LA6_ ;
goto BeforeRet_ ;
}
LA6_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1838 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim" );
2022-09-19 09:55:15 +03:00
if ( nimAddInt ( result , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_27 )) { raiseOverflow (); };
result = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_27 );
2022-12-25 14:07:15 +02:00
nimln_ ( 21 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim" );
2022-09-19 09:55:15 +03:00
if ( nimAddInt ( i_2 , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_28 )) { raiseOverflow (); };
i_2 = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_28 );
} LA3 : ;
}
}
2022-12-25 14:07:15 +02:00
nimln_ ( 1841 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim" );
2022-09-19 09:55:15 +03:00
result = (( NI ) - 1 );
} BeforeRet_ : ;
popFrame ();
return result ;
}
2022-12-25 14:07:15 +02:00
static N_INLINE ( NIM_BOOL , contains__pureZos_653 )( NIM_CHAR * a , NI aLen_0 , NIM_CHAR item ) {
2022-09-19 09:55:15 +03:00
NIM_BOOL result ;
NI T1_ ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "contains" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim" );
2022-09-19 09:55:15 +03:00
{ result = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1855 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim" );
2022-09-19 09:55:15 +03:00
T1_ = ( NI ) 0 ;
2022-12-25 14:07:15 +02:00
T1_ = find__pureZos_658 ( a , aLen_0 , item );
2022-09-19 09:55:15 +03:00
result = ((( NI ) 0 ) <= T1_ );
goto BeforeRet_ ;
} BeforeRet_ : ;
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( NI , searchExtPos__pureZos_271 )( NimStringDesc * path ) {
NI result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "searchExtPos" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = ( NI ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 638 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = (( NI ) - 1 );
{
NI i ;
NI colontmp_ ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_29 ;
NI res ;
i = ( NI ) 0 ;
colontmp_ = ( NI ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 639 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( nimSubInt (( path ? path -> Sup . len : 0 ), (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_29 )) { raiseOverflow (); };
colontmp_ = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_29 );
2022-12-25 14:07:15 +02:00
nimln_ ( 33 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim" );
2022-09-19 09:55:15 +03:00
res = colontmp_ ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 34 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim" );
2022-09-19 09:55:15 +03:00
while ( 1 ) {
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_30 ;
if ( ! ((( NI ) 1 ) <= res )) goto LA3 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 639 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
i = res ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 640 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( i < 0 || i >= ( path ? path -> Sup . len : 0 )){ raiseIndexError2 ( i ,( path ? path -> Sup . len : 0 ) - 1 ); }
if ( ! (( NU8 )( path -> data [ i ]) == ( NU8 )( 46 ))) goto LA6_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 641 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = i ;
2022-12-25 14:07:15 +02:00
nimln_ ( 642 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
goto LA1 ;
}
goto LA4_ ;
LA6_ : ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 643 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( i < 0 || i >= ( path ? path -> Sup . len : 0 )){ raiseIndexError2 ( i ,( path ? path -> Sup . len : 0 ) - 1 ); }
if ( ! ((( NU8 )( path -> data [ i ])) == (( NU8 )( 47 )) || (( NU8 )( path -> data [ i ])) == (( NU8 )( 47 )))) goto LA9_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 644 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
goto LA1 ;
}
goto LA4_ ;
LA9_ : ;
LA4_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 36 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim" );
2022-09-19 09:55:15 +03:00
if ( nimSubInt ( res , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_30 )) { raiseOverflow (); };
res = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_30 );
} LA3 : ;
}
} LA1 : ;
popFrame ();
return result ;
}
static N_INLINE ( void , appendChar )( NimStringDesc * dest , NIM_CHAR c ) {
( * dest ). data [( * dest ). Sup . len ] = c ;
( * dest ). data [( NI )(( * dest ). Sup . len + (( NI ) 1 ))] = 0 ;
( * dest ). Sup . len += (( NI ) 1 );
}
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , normExt__pureZos_268 )( NimStringDesc * ext ) {
NimStringDesc * result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "normExt" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 618 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T3_ ;
T3_ = ( NIM_BOOL ) 0 ;
T3_ = (( ext ? ext -> Sup . len : 0 ) == 0 );
if ( T3_ ) goto LA4_ ;
if ((( NI ) 0 ) < 0 || (( NI ) 0 ) >= ( ext ? ext -> Sup . len : 0 )){ raiseIndexError2 ((( NI ) 0 ),( ext ? ext -> Sup . len : 0 ) - 1 ); }
T3_ = (( NU8 )( ext -> data [(( NI ) 0 )]) == ( NU8 )( 46 ));
LA4_ : ;
if ( ! T3_ ) goto LA5_ ;
result = copyString ( ext );
}
goto LA1_ ;
LA5_ : ;
{
NimStringDesc * T8_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 619 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T8_ = NIM_NIL ;
T8_ = rawNewString (( ext ? ext -> Sup . len : 0 ) + 1 );
appendChar ( T8_ , 46 );
appendString ( T8_ , ext );
result = T8_ ;
}
LA1_ : ;
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , nosaddFileExt )( NimStringDesc * filename , NimStringDesc * ext ) {
NimStringDesc * result ;
NI extPos ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "addFileExt" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 786 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
extPos = searchExtPos__pureZos_271 ( filename );
2022-12-25 14:07:15 +02:00
nimln_ ( 787 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NimStringDesc * T5_ ;
NimStringDesc * T6_ ;
if ( ! ( extPos < (( NI ) 0 ))) goto LA3_ ;
T5_ = NIM_NIL ;
T6_ = NIM_NIL ;
T6_ = normExt__pureZos_268 ( ext );
T5_ = rawNewString (( filename ? filename -> Sup . len : 0 ) + ( T6_ ? T6_ -> Sup . len : 0 ) + 0 );
appendString ( T5_ , filename );
appendString ( T5_ , T6_ );
result = T5_ ;
}
goto LA1_ ;
LA3_ : ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 788 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = copyString ( filename );
}
LA1_ : ;
popFrame ();
return result ;
}
static N_INLINE ( void , nimSetMem__systemZmemory_7 )( void * a , int v , NI size ) {
void * T1_ ;
T1_ = ( void * ) 0 ;
T1_ = memset ( a , v , (( size_t ) ( size )));
}
static N_INLINE ( void , nimZeroMem )( void * p , NI size ) {
nimSetMem__systemZmemory_7 ( p , (( int ) 0 ), size );
}
N_LIB_PRIVATE N_NIMCALL ( NIM_BOOL , nosfileExists )( NimStringDesc * filename ) {
NIM_BOOL result ;
struct stat res ;
NIM_BOOL T1_ ;
int T2_ ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "fileExists" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{ result = ( NIM_BOOL ) 0 ;
nimZeroMem (( void * )( & res ), sizeof ( struct stat ));
2022-12-25 14:07:15 +02:00
nimln_ ( 1175 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T1_ = ( NIM_BOOL ) 0 ;
T2_ = ( int ) 0 ;
T2_ = stat ( nimToCStringConv ( filename ), ( & res ));
T1_ = ((( NI32 ) 0 ) <= T2_ );
if ( ! ( T1_ )) goto LA3_ ;
T1_ = S_ISREG ( res . st_mode );
LA3_ : ;
result = T1_ ;
goto BeforeRet_ ;
} BeforeRet_ : ;
popFrame ();
return result ;
}
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , expandTilde__pureZos_578 )( NimStringDesc * path ) {
2022-09-19 09:55:15 +03:00
NimStringDesc * result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "expandTilde" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1037 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T3_ ;
T3_ = ( NIM_BOOL ) 0 ;
T3_ = (( path ? path -> Sup . len : 0 ) == (( NI ) 0 ));
if ( T3_ ) goto LA4_ ;
if ((( NI ) 0 ) < 0 || (( NI ) 0 ) >= ( path ? path -> Sup . len : 0 )){ raiseIndexError2 ((( NI ) 0 ),( path ? path -> Sup . len : 0 ) - 1 ); }
T3_ = ! ((( NU8 )( path -> data [(( NI ) 0 )]) == ( NU8 )( 126 )));
LA4_ : ;
if ( ! T3_ ) goto LA5_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1038 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = copyString ( path );
}
goto LA1_ ;
LA5_ : ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 1039 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( ! (( path ? path -> Sup . len : 0 ) == (( NI ) 1 ))) goto LA8_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1040 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = nosgetHomeDir ();
}
goto LA1_ ;
LA8_ : ;
{
NimStringDesc * T13_ ;
NimStringDesc * T14_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1041 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ((( NI ) 1 ) < 0 || (( NI ) 1 ) >= ( path ? path -> Sup . len : 0 )){ raiseIndexError2 ((( NI ) 1 ),( path ? path -> Sup . len : 0 ) - 1 ); }
if ( ! ((( NU8 )( path -> data [(( NI ) 1 )])) == (( NU8 )( 47 )) || (( NU8 )( path -> data [(( NI ) 1 )])) == (( NU8 )( 47 )))) goto LA11_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1042 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T13_ = NIM_NIL ;
T13_ = nosgetHomeDir ();
T14_ = NIM_NIL ;
2022-12-25 14:07:15 +02:00
T14_ = substr__system_7802 ( path , (( NI ) 2 ));
2022-09-19 09:55:15 +03:00
result = slash___pureZos_121 ( T13_ , T14_ );
}
goto LA1_ ;
LA11_ : ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 1045 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = copyString ( path );
}
LA1_ : ;
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( NIM_BOOL , nossymlinkExists )( NimStringDesc * link ) {
NIM_BOOL result ;
struct stat res ;
NIM_BOOL T1_ ;
int T2_ ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "symlinkExists" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = ( NIM_BOOL ) 0 ;
nimZeroMem (( void * )( & res ), sizeof ( struct stat ));
2022-12-25 14:07:15 +02:00
nimln_ ( 1216 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T1_ = ( NIM_BOOL ) 0 ;
T2_ = ( int ) 0 ;
T2_ = lstat ( nimToCStringConv ( link ), ( & res ));
T1_ = ((( NI32 ) 0 ) <= T2_ );
if ( ! ( T1_ )) goto LA3_ ;
T1_ = S_ISLNK ( res . st_mode );
LA3_ : ;
result = T1_ ;
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( NIM_BOOL , nosisAbsolute )( NimStringDesc * path ) {
NIM_BOOL result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "isAbsolute" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{ result = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 287 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! (( path ? path -> Sup . len : 0 ) == (( NI ) 0 ))) goto LA3_ ;
result = NIM_FALSE ;
goto BeforeRet_ ;
}
LA3_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 301 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ((( NI ) 0 ) < 0 || (( NI ) 0 ) >= ( path ? path -> Sup . len : 0 )){ raiseIndexError2 ((( NI ) 0 ),( path ? path -> Sup . len : 0 ) - 1 ); }
result = (( NU8 )( path -> data [(( NI ) 0 )]) == ( NU8 )( 47 ));
} BeforeRet_ : ;
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( NI , parentDirPos__pureZos_195 )( NimStringDesc * path ) {
NI result ;
NI q ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "parentDirPos" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{ result = ( NI ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 467 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
q = (( NI ) 1 );
2022-12-25 14:07:15 +02:00
nimln_ ( 468 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T3_ ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_36 ;
T3_ = ( NIM_BOOL ) 0 ;
T3_ = ((( NI ) 1 ) <= ( path ? path -> Sup . len : 0 ));
if ( ! ( T3_ )) goto LA4_ ;
if ( nimSubInt (( path ? path -> Sup . len : 0 ), (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_36 )) { raiseOverflow (); };
if (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_36 ) < 0 || ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_36 ) >= ( path ? path -> Sup . len : 0 )){ raiseIndexError2 (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_36 ),( path ? path -> Sup . len : 0 ) - 1 ); }
T3_ = ((( NU8 )( path -> data [( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_36 )])) == (( NU8 )( 47 )) || (( NU8 )( path -> data [( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_36 )])) == (( NU8 )( 47 )));
LA4_ : ;
if ( ! T3_ ) goto LA5_ ;
q = (( NI ) 2 );
}
LA5_ : ;
{
NI i ;
NI colontmp_ ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_37 ;
NI res ;
i = ( NI ) 0 ;
colontmp_ = ( NI ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 469 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( nimSubInt (( path ? path -> Sup . len : 0 ), q , & TM__yu6cxgKBBXbNsTkT9cyMd4g_37 )) { raiseOverflow (); };
colontmp_ = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_37 );
2022-12-25 14:07:15 +02:00
nimln_ ( 33 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim" );
2022-09-19 09:55:15 +03:00
res = colontmp_ ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 34 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim" );
2022-09-19 09:55:15 +03:00
while ( 1 ) {
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_38 ;
if ( ! ((( NI ) 0 ) <= res )) goto LA9 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 469 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
i = res ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 470 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( i < 0 || i >= ( path ? path -> Sup . len : 0 )){ raiseIndexError2 ( i ,( path ? path -> Sup . len : 0 ) - 1 ); }
if ( ! ((( NU8 )( path -> data [ i ])) == (( NU8 )( 47 )) || (( NU8 )( path -> data [ i ])) == (( NU8 )( 47 )))) goto LA12_ ;
result = i ;
goto BeforeRet_ ;
}
LA12_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 36 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim" );
2022-09-19 09:55:15 +03:00
if ( nimSubInt ( res , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_38 )) { raiseOverflow (); };
res = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_38 );
} LA9 : ;
}
}
2022-12-25 14:07:15 +02:00
nimln_ ( 471 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = (( NI ) - 1 );
} BeforeRet_ : ;
popFrame ();
return result ;
}
static N_INLINE ( int , nimCmpMem )( void * a , void * b , NI size ) {
int result ;
result = ( int ) 0 ;
result = memcmp ( a , b , (( size_t ) ( size )));
return result ;
}
static N_INLINE ( NIM_BOOL , equalMem__system_1735 )( void * a , void * b , NI size ) {
NIM_BOOL result ;
int T1_ ;
result = ( NIM_BOOL ) 0 ;
T1_ = ( int ) 0 ;
T1_ = nimCmpMem ( a , b , size );
result = ( T1_ == (( NI32 ) 0 ));
return result ;
}
static N_INLINE ( NIM_BOOL , eqStrings )( NimStringDesc * a , NimStringDesc * b ) {
NIM_BOOL result ;
NI alen ;
NI blen ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "eqStrings" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/strmantle.nim" );
2022-09-19 09:55:15 +03:00
{ result = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 27 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/strmantle.nim" );
2022-09-19 09:55:15 +03:00
alen = ( a ? a -> Sup . len : 0 );
2022-12-25 14:07:15 +02:00
nimln_ ( 28 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/strmantle.nim" );
2022-09-19 09:55:15 +03:00
blen = ( b ? b -> Sup . len : 0 );
2022-12-25 14:07:15 +02:00
nimln_ ( 29 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/strmantle.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! ( alen == blen )) goto LA3_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 30 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/strmantle.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! ( alen == (( NI ) 0 ))) goto LA7_ ;
result = NIM_TRUE ;
goto BeforeRet_ ;
}
LA7_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 31 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/strmantle.nim" );
2022-09-19 09:55:15 +03:00
result = equalMem__system_1735 ((( void * ) (( & a -> data [(( NI ) 0 )]))), (( void * ) (( & b -> data [(( NI ) 0 )]))), (( NI ) ( alen )));
goto BeforeRet_ ;
}
LA3_ : ;
} BeforeRet_ : ;
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , nosparentDir )( NimStringDesc * path ) {
NimStringDesc * result ;
NI sepPos ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "parentDir" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 497 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = normalizePath__pureZpathnorm_127 ( path , 47 );
2022-12-25 14:07:15 +02:00
nimln_ ( 498 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
sepPos = parentDirPos__pureZos_195 ( result );
2022-12-25 14:07:15 +02:00
nimln_ ( 499 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! ((( NI ) 0 ) <= sepPos )) goto LA3_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 500 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
result = substr__system_7790 ( result , (( NI ) 0 ), sepPos );
nimln_ ( 501 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
normalizePathEnd__pureZos_51 (( & result ), NIM_FALSE );
}
goto LA1_ ;
LA3_ : ;
{
NIM_BOOL T6_ ;
NIM_BOOL T7_ ;
NIM_BOOL T8_ ;
NIM_CHAR * T12_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 502 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T6_ = ( NIM_BOOL ) 0 ;
T7_ = ( NIM_BOOL ) 0 ;
T8_ = ( NIM_BOOL ) 0 ;
T8_ = eqStrings ( result , (( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_39 ));
if ( T8_ ) goto LA9_ ;
T8_ = eqStrings ( result , (( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_40 ));
LA9_ : ;
T7_ = T8_ ;
if ( T7_ ) goto LA10_ ;
T7_ = (( result ? result -> Sup . len : 0 ) == (( NI ) 0 ));
LA10_ : ;
T6_ = T7_ ;
if ( T6_ ) goto LA11_ ;
T12_ = ( NIM_CHAR * ) 0 ;
2022-12-25 14:07:15 +02:00
T12_ = X5BX5D___system_7408 (( & result ), (( NI ) 1 ));
2022-09-19 09:55:15 +03:00
T6_ = ((( NU8 )(( * T12_ ))) == (( NU8 )( 47 )) || (( NU8 )(( * T12_ ))) == (( NU8 )( 47 )));
LA11_ : ;
if ( ! T6_ ) goto LA13_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 505 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = (( NimStringDesc * ) NIM_NIL );
}
goto LA1_ ;
LA13_ : ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 507 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = copyString ((( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_40 ));
}
LA1_ : ;
popFrame ();
return result ;
}
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , findExe__pureZos_646 )( NimStringDesc * exe , NIM_BOOL followSymlinks , NimStringDesc ** extensions , NI extensionsLen_0 ) {
2022-09-19 09:55:15 +03:00
NimStringDesc * result ;
NimStringDesc * path ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "findExe" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{ result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1240 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! (( exe ? exe -> Sup . len : 0 ) == (( NI ) 0 ))) goto LA3_ ;
goto BeforeRet_ ;
}
LA3_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1246 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T7_ ;
T7_ = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
T7_ = contains__pureZos_653 (( exe ) ? ( exe -> data ) : NIM_NIL , ( exe ? exe -> Sup . len : 0 ), 47 );
2022-09-19 09:55:15 +03:00
if ( ! T7_ ) goto LA8_ ;
{
2022-12-25 14:07:15 +02:00
NimStringDesc ** extX60gensym82_ ;
2022-09-19 09:55:15 +03:00
NI i ;
2022-12-25 14:07:15 +02:00
extX60gensym82_ = ( NimStringDesc ** ) 0 ;
nimln_ ( 8 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim" );
2022-09-19 09:55:15 +03:00
i = (( NI ) 0 );
{
2022-12-25 14:07:15 +02:00
nimln_ ( 9 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim" );
2022-09-19 09:55:15 +03:00
while ( 1 ) {
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_31 ;
if ( ! ( i < extensionsLen_0 )) goto LA12 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1246 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( i < 0 || i >= extensionsLen_0 ){ raiseIndexError2 ( i , extensionsLen_0 - 1 ); }
2022-12-25 14:07:15 +02:00
extX60gensym82_ = ( & extensions [ i ]);
nimln_ ( 1243 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
result = nosaddFileExt ( exe , ( * extX60gensym82_ ));
nimln_ ( 1246 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T15_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1244 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T15_ = ( NIM_BOOL ) 0 ;
T15_ = nosfileExists ( result );
if ( ! T15_ ) goto LA16_ ;
goto BeforeRet_ ;
}
LA16_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 11 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim" );
2022-09-19 09:55:15 +03:00
if ( nimAddInt ( i , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_31 )) { raiseOverflow (); };
i = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_31 );
} LA12 : ;
}
}
}
LA8_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1249 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
path = getEnv__pureZos_418 ((( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_32 ), (( NimStringDesc * ) NIM_NIL ));
2022-09-19 09:55:15 +03:00
{
NimStringDesc * candidate ;
2022-12-25 14:07:15 +02:00
NI lastX60gensym34_ ;
NI splitsX60gensym34_ ;
2022-09-19 09:55:15 +03:00
candidate = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 365 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
lastX60gensym34_ = (( NI ) 0 );
nimln_ ( 366 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
splitsX60gensym34_ = (( NI ) - 1 );
2022-09-19 09:55:15 +03:00
{
2022-12-25 14:07:15 +02:00
nimln_ ( 426 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
2022-09-19 09:55:15 +03:00
while ( 1 ) {
2022-12-25 14:07:15 +02:00
NI firstX60gensym34_ ;
2022-09-19 09:55:15 +03:00
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_34 ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_42 ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_43 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 368 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
if ( ! ( lastX60gensym34_ <= ( path ? path -> Sup . len : 0 ))) goto LA20 ;
nimln_ ( 369 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
firstX60gensym34_ = lastX60gensym34_ ;
2022-09-19 09:55:15 +03:00
{
2022-12-25 14:07:15 +02:00
nimln_ ( 370 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
2022-09-19 09:55:15 +03:00
while ( 1 ) {
NIM_BOOL T23_ ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_33 ;
T23_ = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
T23_ = ( lastX60gensym34_ < ( path ? path -> Sup . len : 0 ));
2022-09-19 09:55:15 +03:00
if ( ! ( T23_ )) goto LA24_ ;
2022-12-25 14:07:15 +02:00
if ( lastX60gensym34_ < 0 || lastX60gensym34_ >= ( path ? path -> Sup . len : 0 )){ raiseIndexError2 ( lastX60gensym34_ ,( path ? path -> Sup . len : 0 ) - 1 ); }
T23_ = ! ((( NU8 )( path -> data [ lastX60gensym34_ ]) == ( NU8 )( 58 )));
2022-09-19 09:55:15 +03:00
LA24_ : ;
if ( ! T23_ ) goto LA22 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 371 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
if ( nimAddInt ( lastX60gensym34_ , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_33 )) { raiseOverflow (); };
lastX60gensym34_ = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_33 );
2022-09-19 09:55:15 +03:00
} LA22 : ;
}
2022-12-25 14:07:15 +02:00
nimln_ ( 372 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
2022-09-19 09:55:15 +03:00
{
2022-12-25 14:07:15 +02:00
if ( ! ( splitsX60gensym34_ == (( NI ) 0 ))) goto LA27_ ;
lastX60gensym34_ = ( path ? path -> Sup . len : 0 );
2022-09-19 09:55:15 +03:00
}
LA27_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1250 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
nimln_ ( 373 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
if ( nimSubInt ( lastX60gensym34_ , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_34 )) { raiseOverflow (); };
nimln_ ( 1250 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
candidate = substr__system_7790 ( path , firstX60gensym34_ , ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_34 ));
2022-09-19 09:55:15 +03:00
{
NimStringDesc * x ;
NimStringDesc * T34_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1251 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! (( candidate ? candidate -> Sup . len : 0 ) == (( NI ) 0 ))) goto LA32_ ;
goto LA29 ;
}
LA32_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1257 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T34_ = NIM_NIL ;
2022-12-25 14:07:15 +02:00
T34_ = expandTilde__pureZos_578 ( candidate );
2022-09-19 09:55:15 +03:00
x = slash___pureZos_121 ( T34_ , exe );
{
NimStringDesc ** ext ;
NI i_2 ;
ext = ( NimStringDesc ** ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 8 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim" );
2022-09-19 09:55:15 +03:00
i_2 = (( NI ) 0 );
{
2022-12-25 14:07:15 +02:00
nimln_ ( 9 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim" );
2022-09-19 09:55:15 +03:00
while ( 1 ) {
NimStringDesc * x_2 ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_41 ;
if ( ! ( i_2 < extensionsLen_0 )) goto LA37 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1258 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( i_2 < 0 || i_2 >= extensionsLen_0 ){ raiseIndexError2 ( i_2 , extensionsLen_0 - 1 ); }
ext = ( & extensions [ i_2 ]);
2022-12-25 14:07:15 +02:00
nimln_ ( 1259 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
x_2 = nosaddFileExt ( x , ( * ext ));
2022-12-25 14:07:15 +02:00
nimln_ ( 1258 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T40_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1260 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T40_ = ( NIM_BOOL ) 0 ;
T40_ = nosfileExists ( x_2 );
if ( ! T40_ ) goto LA41_ ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 1262 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
while ( 1 ) {
if ( ! followSymlinks ) goto LA44 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1263 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T47_ ;
NimStringDesc * r ;
NI len ;
T47_ = ( NIM_BOOL ) 0 ;
T47_ = nossymlinkExists ( x_2 );
if ( ! T47_ ) goto LA48_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1264 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
r = mnewString ((( NI ) 1024 ));
2022-12-25 14:07:15 +02:00
nimln_ ( 1265 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
len = readlink ( nimToCStringConv ( x_2 ), nimToCStringConv ( r ), (( NI ) 1024 ));
2022-12-25 14:07:15 +02:00
nimln_ ( 1266 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NI32 T54_ ;
if ( ! ( len < (( NI ) 0 ))) goto LA52_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1267 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T54_ = ( NI32 ) 0 ;
T54_ = osLastError__pureZos_408 ();
raiseOSError__pureZos_405 ( T54_ , exe );
}
LA52_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1268 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_35 ;
if ( ! ((( NI ) 1024 ) < len )) goto LA57_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1269 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( nimAddInt ( len , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_35 )) { raiseOverflow (); };
if ((( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_35 )) < (( NI ) 0 ) || (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_35 )) > (( NI ) IL64 ( 9223372036854775807 ))){ raiseRangeErrorI (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_35 ), (( NI ) 0 ), (( NI ) IL64 ( 9223372036854775807 ))); }
r = mnewString ((( NI ) (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_35 ))));
2022-12-25 14:07:15 +02:00
nimln_ ( 1270 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
len = readlink ( nimToCStringConv ( x_2 ), nimToCStringConv ( r ), len );
}
LA57_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1271 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if (( len ) < (( NI ) 0 ) || ( len ) > (( NI ) IL64 ( 9223372036854775807 ))){ raiseRangeErrorI ( len , (( NI ) 0 ), (( NI ) IL64 ( 9223372036854775807 ))); }
r = setLengthStr ( r , (( NI ) ( len )));
2022-12-25 14:07:15 +02:00
nimln_ ( 1272 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T61_ ;
T61_ = ( NIM_BOOL ) 0 ;
T61_ = nosisAbsolute ( r );
if ( ! T61_ ) goto LA62_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1273 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
x_2 = copyString ( r );
}
goto LA59_ ;
LA62_ : ;
{
NimStringDesc * T65_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1275 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T65_ = NIM_NIL ;
T65_ = nosparentDir ( x_2 );
x_2 = slash___pureZos_121 ( T65_ , r );
}
LA59_ : ;
}
goto LA45_ ;
LA48_ : ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 1277 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
goto LA43 ;
}
LA45_ : ;
} LA44 : ;
} LA43 : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1278 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = copyString ( x_2 );
goto BeforeRet_ ;
}
LA41_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 11 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim" );
2022-09-19 09:55:15 +03:00
if ( nimAddInt ( i_2 , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_41 )) { raiseOverflow (); };
i_2 = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_41 );
} LA37 : ;
}
}
} LA29 : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 374 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
2022-09-19 09:55:15 +03:00
{
2022-12-25 14:07:15 +02:00
if ( ! ( splitsX60gensym34_ == (( NI ) 0 ))) goto LA69_ ;
2022-09-19 09:55:15 +03:00
goto LA19 ;
}
LA69_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 375 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
if ( nimSubInt ( splitsX60gensym34_ , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_42 )) { raiseOverflow (); };
splitsX60gensym34_ = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_42 );
nimln_ ( 376 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
if ( nimAddInt ( lastX60gensym34_ , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_43 )) { raiseOverflow (); };
lastX60gensym34_ = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_43 );
2022-09-19 09:55:15 +03:00
} LA20 : ;
} LA19 : ;
}
2022-12-25 14:07:15 +02:00
nimln_ ( 1279 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = (( NimStringDesc * ) NIM_NIL );
} BeforeRet_ : ;
popFrame ();
return result ;
}
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , absolutePath__pureZos_735 )( NimStringDesc * path , NimStringDesc * root ) {
2022-09-19 09:55:15 +03:00
NimStringDesc * result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "absolutePath" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1442 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
nimln_ ( 1452 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T3_ ;
T3_ = ( NIM_BOOL ) 0 ;
T3_ = nosisAbsolute ( path );
if ( ! T3_ ) goto LA4_ ;
result = copyString ( path );
}
goto LA1_ ;
LA4_ : ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 1454 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T9_ ;
tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw * T12_ ;
NimStringDesc * T13_ ;
T9_ = ( NIM_BOOL ) 0 ;
T9_ = nosisAbsolute ( root );
if ( !! ( T9_ )) goto LA10_ ;
T12_ = NIM_NIL ;
T12_ = ( tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw * ) newObj (( & NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_ ), sizeof ( tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw ));
( * T12_ ). Sup . Sup . Sup . m_type = ( & NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_ );
( * T12_ ). Sup . Sup . name = "ValueError" ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1455 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T13_ = NIM_NIL ;
T13_ = rawNewString (( root ? root -> Sup . len : 0 ) + 36 );
appendString ( T13_ , (( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_44 ));
appendString ( T13_ , root );
asgnRef (( void ** ) ( & ( * T12_ ). Sup . Sup . message ), T13_ );
asgnRef (( void ** ) ( & ( * T12_ ). Sup . Sup . parent ), (( Exception * ) NIM_NIL ));
2022-12-25 14:07:15 +02:00
raiseExceptionEx (( Exception * ) T12_ , "ValueError" , "absolutePath" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" , 1455 );
2022-09-19 09:55:15 +03:00
}
LA10_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1456 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = nosjoinPath ( root , path );
}
LA1_ : ;
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( NIM_BOOL , nosdirExists )( NimStringDesc * dir ) {
NIM_BOOL result ;
struct stat res ;
NIM_BOOL T1_ ;
int T2_ ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "dirExists" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = ( NIM_BOOL ) 0 ;
nimZeroMem (( void * )( & res ), sizeof ( struct stat ));
2022-12-25 14:07:15 +02:00
nimln_ ( 1194 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T1_ = ( NIM_BOOL ) 0 ;
T2_ = ( int ) 0 ;
T2_ = stat ( nimToCStringConv ( dir ), ( & res ));
T1_ = ((( NI32 ) 0 ) <= T2_ );
if ( ! ( T1_ )) goto LA3_ ;
T1_ = S_ISDIR ( res . st_mode );
LA3_ : ;
result = T1_ ;
popFrame ();
return result ;
}
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( void , putEnv__pureZos_426 )( NimStringDesc * key , NimStringDesc * val ) {
nimfr_ ( "putEnv" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim" );
nimln_ ( 103 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim" );
2022-09-19 09:55:15 +03:00
{
int T3_ ;
NI32 T6_ ;
tyTuple__UV3llMMYFckfui8YMBuUZA T7_ ;
NimStringDesc * T8_ ;
T3_ = ( int ) 0 ;
T3_ = setenv ( nimToCStringConv ( key ), nimToCStringConv ( val ), (( NI32 ) 1 ));
if ( !! (( T3_ == (( NI32 ) 0 )))) goto LA4_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 104 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim" );
2022-09-19 09:55:15 +03:00
T6_ = ( NI32 ) 0 ;
T6_ = osLastError__pureZos_408 ();
nimZeroMem (( void * )( & T7_ ), sizeof ( tyTuple__UV3llMMYFckfui8YMBuUZA ));
T7_ . Field0 = copyString ( key );
T7_ . Field1 = copyString ( val );
T8_ = NIM_NIL ;
2022-12-25 14:07:15 +02:00
T8_ = dollar___pureZos_429 ( T7_ );
2022-09-19 09:55:15 +03:00
raiseOSError__pureZos_405 ( T6_ , T8_ );
}
LA4_ : ;
popFrame ();
}
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NIM_BOOL , rawCreateDir__pureZos_1406 )( NimStringDesc * dir ) {
2022-09-19 09:55:15 +03:00
NIM_BOOL result ;
int res ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "rawCreateDir" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2488 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
res = mkdir ( nimToCStringConv ( dir ), (( mode_t ) 511 ));
2022-12-25 14:07:15 +02:00
nimln_ ( 2489 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! ( res == (( NI32 ) 0 ))) goto LA3_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2490 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_TRUE ;
}
goto LA1_ ;
LA3_ : ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 2491 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( ! ( errno == (( int ) 17 ))) goto LA6_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2492 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_FALSE ;
}
goto LA1_ ;
LA6_ : ;
{
NI32 T9_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2495 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T9_ = ( NI32 ) 0 ;
T9_ = osLastError__pureZos_408 ();
raiseOSError__pureZos_405 ( T9_ , dir );
}
LA1_ : ;
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( NIM_BOOL , nosexistsOrCreateDir )( NimStringDesc * dir ) {
NIM_BOOL result ;
NIM_BOOL T1_ ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "existsOrCreateDir" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2522 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T1_ = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
T1_ = rawCreateDir__pureZos_1406 ( dir );
2022-09-19 09:55:15 +03:00
result = ! ( T1_ );
2022-12-25 14:07:15 +02:00
nimln_ ( 2523 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! result ) goto LA4_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2525 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T8_ ;
tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw * T11_ ;
NimStringDesc * T12_ ;
T8_ = ( NIM_BOOL ) 0 ;
T8_ = nosdirExists ( dir );
if ( !! ( T8_ )) goto LA9_ ;
T11_ = NIM_NIL ;
T11_ = ( tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw * ) newObj (( & NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_ ), sizeof ( tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw ));
( * T11_ ). Sup . Sup . Sup . m_type = ( & NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_ );
( * T11_ ). Sup . Sup . name = "IOError" ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2526 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T12_ = NIM_NIL ;
T12_ = rawNewString (( dir ? dir -> Sup . len : 0 ) + 19 );
appendString ( T12_ , (( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_46 ));
appendString ( T12_ , dir );
appendString ( T12_ , (( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_47 ));
asgnRef (( void ** ) ( & ( * T11_ ). Sup . Sup . message ), T12_ );
asgnRef (( void ** ) ( & ( * T11_ ). Sup . Sup . parent ), (( Exception * ) NIM_NIL ));
2022-12-25 14:07:15 +02:00
raiseExceptionEx (( Exception * ) T11_ , "IOError" , "existsOrCreateDir" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" , 2526 );
2022-09-19 09:55:15 +03:00
}
LA9_ : ;
}
LA4_ : ;
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( void , noscreateDir )( NimStringDesc * dir ) {
NIM_BOOL omitNext ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "createDir" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
nimln_ ( 2544 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
omitNext = NIM_FALSE ;
{
NI i ;
NI colontmp_ ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_45 ;
NI res ;
i = ( NI ) 0 ;
colontmp_ = ( NI ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2547 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( nimSubInt (( dir ? dir -> Sup . len : 0 ), (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_45 )) { raiseOverflow (); };
colontmp_ = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_45 );
2022-12-25 14:07:15 +02:00
nimln_ ( 90 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim" );
2022-09-19 09:55:15 +03:00
res = (( NI ) 1 );
{
2022-12-25 14:07:15 +02:00
nimln_ ( 91 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim" );
2022-09-19 09:55:15 +03:00
while ( 1 ) {
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_49 ;
if ( ! ( res <= colontmp_ )) goto LA3 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2547 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
i = res ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 2548 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( i < 0 || i >= ( dir ? dir -> Sup . len : 0 )){ raiseIndexError2 ( i ,( dir ? dir -> Sup . len : 0 ) - 1 ); }
if ( ! ((( NU8 )( dir -> data [ i ])) == (( NU8 )( 47 )) || (( NU8 )( dir -> data [ i ])) == (( NU8 )( 47 )))) goto LA6_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2549 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! omitNext ) goto LA10_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2550 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
omitNext = NIM_FALSE ;
}
goto LA8_ ;
LA10_ : ;
{
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_48 ;
NimStringDesc * T13_ ;
NIM_BOOL T14_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2552 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( nimSubInt ( i , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_48 )) { raiseOverflow (); };
T13_ = NIM_NIL ;
2022-12-25 14:07:15 +02:00
T13_ = substr__system_7790 ( dir , (( NI ) 0 ), ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_48 ));
2022-09-19 09:55:15 +03:00
T14_ = ( NIM_BOOL ) 0 ;
T14_ = nosexistsOrCreateDir ( T13_ );
( void )( T14_ );
}
LA8_ : ;
}
LA6_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 93 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim" );
2022-09-19 09:55:15 +03:00
if ( nimAddInt ( res , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_49 )) { raiseOverflow (); };
res = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_49 );
} LA3 : ;
}
}
2022-12-25 14:07:15 +02:00
nimln_ ( 2555 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T17_ ;
NIM_BOOL T18_ ;
NIM_CHAR T21_ ;
NIM_BOOL T24_ ;
T17_ = ( NIM_BOOL ) 0 ;
T18_ = ( NIM_BOOL ) 0 ;
T18_ = ((( NI ) 0 ) < ( dir ? dir -> Sup . len : 0 ));
if ( ! ( T18_ )) goto LA19_ ;
T18_ = ! ( omitNext );
LA19_ : ;
T17_ = T18_ ;
if ( ! ( T17_ )) goto LA20_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2556 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T21_ = ( NIM_CHAR ) 0 ;
2022-12-25 14:07:15 +02:00
T21_ = X5BX5D___system_7375 ( dir , (( NI ) 1 ));
2022-09-19 09:55:15 +03:00
T17_ = ! (((( NU8 )( T21_ )) == (( NU8 )( 47 )) || (( NU8 )( T21_ )) == (( NU8 )( 47 ))));
LA20_ : ;
if ( ! T17_ ) goto LA22_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2557 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T24_ = ( NIM_BOOL ) 0 ;
T24_ = nosexistsOrCreateDir ( dir );
( void )( T24_ );
}
LA22_ : ;
popFrame ();
}
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NIM_BOOL , existsEnv__pureZos_423 )( NimStringDesc * key ) {
2022-09-19 09:55:15 +03:00
NIM_BOOL result ;
NCSTRING T1_ ;
NIM_BOOL T2_ ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "existsEnv" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim" );
2022-09-19 09:55:15 +03:00
{ result = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 86 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim" );
2022-09-19 09:55:15 +03:00
T1_ = ( NCSTRING ) 0 ;
2022-12-25 14:07:15 +02:00
T1_ = getenv ( nimToCStringConv ( key ));
2022-09-19 09:55:15 +03:00
T2_ = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
T2_ = eqeq___system_7770 ( T1_ , (( NCSTRING ) NIM_NIL ));
2022-09-19 09:55:15 +03:00
result = ! ( T2_ );
goto BeforeRet_ ;
} BeforeRet_ : ;
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( NI64 , nosgetFileSize )( NimStringDesc * file ) {
NI64 result ;
2022-12-25 14:07:15 +02:00
FILE * f ;
nimfr_ ( "getFileSize" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = ( NI64 ) 0 ;
2022-12-25 14:07:15 +02:00
f = ( FILE * ) 0 ;
nimln_ ( 3228 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
2022-12-25 14:07:15 +02:00
NIM_BOOL T3_ ;
T3_ = ( NIM_BOOL ) 0 ;
T3_ = open__systemZio_392 ( & f , file , (( tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg ) 0 ), (( NI ) - 1 ));
if ( ! T3_ ) goto LA4_ ;
nimln_ ( 3229 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
result = getFileSize__systemZio_455 ( f );
nimln_ ( 3230 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
close__systemZio_217 ( f );
2022-09-19 09:55:15 +03:00
}
2022-12-25 14:07:15 +02:00
goto LA1_ ;
2022-09-19 09:55:15 +03:00
LA4_ : ;
2022-12-25 14:07:15 +02:00
{
NI32 T7_ ;
nimln_ ( 3231 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
T7_ = ( NI32 ) 0 ;
T7_ = osLastError__pureZos_408 ();
raiseOSError__pureZos_405 ( T7_ , file );
}
LA1_ : ;
2022-09-19 09:55:15 +03:00
popFrame ();
return result ;
}
static N_INLINE ( NI , countSetBitsImpl__systemZcountbits95impl_26 )( NU32 x ) {
NI result ;
int T1_ ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "countSetBitsImpl" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/countbits_impl.nim" );
2022-09-19 09:55:15 +03:00
result = ( NI ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 74 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/countbits_impl.nim" );
2022-09-19 09:55:15 +03:00
T1_ = ( int ) 0 ;
2022-12-25 14:07:15 +02:00
T1_ = __builtin_popcount ( x );
2022-09-19 09:55:15 +03:00
result = (( NI ) ( T1_ ));
popFrame ();
return result ;
}
static N_INLINE ( NI , countBits32 )( NU32 n ) {
NI result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "countBits32" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/countbits_impl.nim" );
2022-09-19 09:55:15 +03:00
result = ( NI ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 92 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/countbits_impl.nim" );
2022-09-19 09:55:15 +03:00
result = countSetBitsImpl__systemZcountbits95impl_26 ( n );
popFrame ();
return result ;
}
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( void , createSymlink__pureZos_1011 )( NimStringDesc * src , NimStringDesc * dest ) {
nimfr_ ( "createSymlink" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
nimln_ ( 1766 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
int T3_ ;
NI32 T6_ ;
tyTuple__UV3llMMYFckfui8YMBuUZA T7_ ;
NimStringDesc * T8_ ;
T3_ = ( int ) 0 ;
T3_ = symlink ( nimToCStringConv ( src ), nimToCStringConv ( dest ));
if ( !! (( T3_ == (( NI32 ) 0 )))) goto LA4_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1767 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T6_ = ( NI32 ) 0 ;
T6_ = osLastError__pureZos_408 ();
nimZeroMem (( void * )( & T7_ ), sizeof ( tyTuple__UV3llMMYFckfui8YMBuUZA ));
T7_ . Field0 = copyString ( src );
T7_ . Field1 = copyString ( dest );
T8_ = NIM_NIL ;
2022-12-25 14:07:15 +02:00
T8_ = dollar___pureZos_429 ( T7_ );
2022-09-19 09:55:15 +03:00
raiseOSError__pureZos_405 ( T6_ , T8_ );
}
LA4_ : ;
popFrame ();
}
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , expandSymlink__pureZos_1017 )( NimStringDesc * symlinkPath ) {
2022-09-19 09:55:15 +03:00
NimStringDesc * result ;
NI len ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "expandSymlink" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1779 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = mnewString ((( NI ) 1024 ));
2022-12-25 14:07:15 +02:00
nimln_ ( 1780 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
len = readlink ( nimToCStringConv ( symlinkPath ), nimToCStringConv ( result ), (( NI ) 1024 ));
2022-12-25 14:07:15 +02:00
nimln_ ( 1781 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NI32 T5_ ;
if ( ! ( len < (( NI ) 0 ))) goto LA3_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1782 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T5_ = ( NI32 ) 0 ;
T5_ = osLastError__pureZos_408 ();
raiseOSError__pureZos_405 ( T5_ , symlinkPath );
}
LA3_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1783 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_51 ;
if ( ! ((( NI ) 1024 ) < len )) goto LA8_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1784 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( nimAddInt ( len , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_51 )) { raiseOverflow (); };
if ((( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_51 )) < (( NI ) 0 ) || (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_51 )) > (( NI ) IL64 ( 9223372036854775807 ))){ raiseRangeErrorI (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_51 ), (( NI ) 0 ), (( NI ) IL64 ( 9223372036854775807 ))); }
result = mnewString ((( NI ) (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_51 ))));
2022-12-25 14:07:15 +02:00
nimln_ ( 1785 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
len = readlink ( nimToCStringConv ( symlinkPath ), nimToCStringConv ( result ), len );
}
LA8_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1786 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if (( len ) < (( NI ) 0 ) || ( len ) > (( NI ) IL64 ( 9223372036854775807 ))){ raiseRangeErrorI ( len , (( NI ) 0 ), (( NI ) IL64 ( 9223372036854775807 ))); }
result = setLengthStr ( result , (( NI ) ( len )));
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( void , noscopyFile )( NimStringDesc * source , NimStringDesc * dest , tySet_tyEnum_CopyFlag__pdzel23GjJ9cPFw8c5ldeRA options ) {
NIM_BOOL isSymlink ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "copyFile" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
{ nimln_ ( 1851 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( !! (( countBits32 (( 7 & options )) == (( NI ) 1 )))) goto LA3_ ;
2022-12-25 14:07:15 +02:00
failedAssertImpl__systemZassertions_56 ((( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_50 ));
2022-09-19 09:55:15 +03:00
}
LA3_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1853 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
isSymlink = nossymlinkExists ( source );
2022-12-25 14:07:15 +02:00
nimln_ ( 1854 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T7_ ;
NIM_BOOL T9_ ;
T7_ = ( NIM_BOOL ) 0 ;
T7_ = isSymlink ;
if ( ! ( T7_ )) goto LA8_ ;
T9_ = ( NIM_BOOL ) 0 ;
T9_ = (( options & (( NU8 ) 1 << (( NU )((( tyEnum_CopyFlag__pdzel23GjJ9cPFw8c5ldeRA ) 2 )) & 7U ))) != 0 );
if ( T9_ ) goto LA10_ ;
T9_ = NIM_FALSE ;
LA10_ : ;
T7_ = T9_ ;
LA8_ : ;
if ( ! T7_ ) goto LA11_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1855 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
goto BeforeRet_ ;
}
LA11_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1866 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T15_ ;
NimStringDesc * T19_ ;
T15_ = ( NIM_BOOL ) 0 ;
T15_ = isSymlink ;
if ( ! ( T15_ )) goto LA16_ ;
T15_ = (( options & (( NU8 ) 1 << (( NU )((( tyEnum_CopyFlag__pdzel23GjJ9cPFw8c5ldeRA ) 0 )) & 7U ))) != 0 );
LA16_ : ;
if ( ! T15_ ) goto LA17_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1867 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T19_ = NIM_NIL ;
2022-12-25 14:07:15 +02:00
T19_ = expandSymlink__pureZos_1017 ( source );
createSymlink__pureZos_1011 ( T19_ , dest );
2022-09-19 09:55:15 +03:00
}
goto LA13_ ;
LA17_ : ;
{
FILE * d ;
FILE * s ;
void * buf ;
d = ( FILE * ) 0 ;
s = ( FILE * ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1885 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T23_ ;
NI32 T26_ ;
T23_ = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
T23_ = open__systemZio_392 ( & s , source , (( tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg ) 0 ), (( NI ) - 1 ));
2022-09-19 09:55:15 +03:00
if ( !! ( T23_ )) goto LA24_ ;
T26_ = ( NI32 ) 0 ;
T26_ = osLastError__pureZos_408 ();
raiseOSError__pureZos_405 ( T26_ , source );
}
LA24_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1886 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T29_ ;
NI32 T32_ ;
T29_ = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
T29_ = open__systemZio_392 ( & d , dest , (( tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg ) 1 ), (( NI ) - 1 ));
2022-09-19 09:55:15 +03:00
if ( !! ( T29_ )) goto LA30_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1887 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
close__systemZio_217 ( s );
nimln_ ( 1888 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T32_ = ( NI32 ) 0 ;
T32_ = osLastError__pureZos_408 ();
raiseOSError__pureZos_405 ( T32_ , dest );
}
LA30_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1889 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
buf = allocImpl__system_1743 ((( NI ) 8000 ));
{
2022-12-25 14:07:15 +02:00
nimln_ ( 1890 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
while ( 1 ) {
NI bytesread ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1891 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
bytesread = readBuffer__systemZio_144 ( s , buf , (( NI ) 8000 ));
nimln_ ( 1892 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NI byteswritten ;
if ( ! ((( NI ) 0 ) < bytesread )) goto LA37_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1893 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if (( bytesread ) < (( NI ) 0 ) || ( bytesread ) > (( NI ) IL64 ( 9223372036854775807 ))){ raiseRangeErrorI ( bytesread , (( NI ) 0 ), (( NI ) IL64 ( 9223372036854775807 ))); }
2022-12-25 14:07:15 +02:00
byteswritten = writeBuffer__systemZio_176 ( d , buf , (( NI ) ( bytesread )));
nimln_ ( 1894 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NI32 T43_ ;
if ( !! (( bytesread == byteswritten ))) goto LA41_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1895 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
dealloc ( buf );
2022-12-25 14:07:15 +02:00
nimln_ ( 1896 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
close__systemZio_217 ( s );
nimln_ ( 1897 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
close__systemZio_217 ( d );
nimln_ ( 1898 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T43_ = ( NI32 ) 0 ;
T43_ = osLastError__pureZos_408 ();
raiseOSError__pureZos_405 ( T43_ , dest );
}
LA41_ : ;
}
LA37_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1899 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( !! (( bytesread == (( NI ) 8000 )))) goto LA46_ ;
goto LA33 ;
}
LA46_ : ;
}
} LA33 : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1900 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
dealloc ( buf );
2022-12-25 14:07:15 +02:00
nimln_ ( 1901 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
close__systemZio_217 ( s );
nimln_ ( 1902 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
flushFile__systemZio_226 ( d );
nimln_ ( 1903 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
close__systemZio_217 ( d );
2022-09-19 09:55:15 +03:00
}
LA13_ : ;
} BeforeRet_ : ;
popFrame ();
}
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg , getSymlinkFileKind__pureZos_1220 )( NimStringDesc * path ) {
2022-09-19 09:55:15 +03:00
tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg result ;
struct stat s ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "getSymlinkFileKind" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = ( tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg ) 0 ;
nimZeroMem (( void * )( & s ), sizeof ( struct stat ));
2022-12-25 14:07:15 +02:00
nimln_ ( 2260 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( !! ( ! ((( path ? path -> Sup . len : 0 ) == 0 )))) goto LA3_ ;
2022-12-25 14:07:15 +02:00
failedAssertImpl__systemZassertions_56 ((( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_52 ));
2022-09-19 09:55:15 +03:00
}
LA3_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2261 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T7_ ;
int T8_ ;
T7_ = ( NIM_BOOL ) 0 ;
T8_ = ( int ) 0 ;
T8_ = stat ( nimToCStringConv ( path ), ( & s ));
T7_ = ( T8_ == (( NI32 ) 0 ));
if ( ! ( T7_ )) goto LA9_ ;
T7_ = S_ISDIR ( s . st_mode );
LA9_ : ;
if ( ! T7_ ) goto LA10_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2262 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = (( tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg ) 3 );
}
goto LA5_ ;
LA10_ : ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 2264 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = (( tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg ) 1 );
}
LA5_ : ;
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( void , nossplitFile )( NimStringDesc * path , tyTuple__7q7q3E6Oj24ZNVJb9aonhAg * Result ) {
NI namePos ;
NI dotPos ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "splitFile" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
unsureAsgnRef (( void ** ) & ( * Result ). Field0 , NIM_NIL );
unsureAsgnRef (( void ** ) & ( * Result ). Field1 , NIM_NIL );
unsureAsgnRef (( void ** ) & ( * Result ). Field2 , NIM_NIL );
2022-12-25 14:07:15 +02:00
nimln_ ( 681 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
namePos = (( NI ) 0 );
2022-12-25 14:07:15 +02:00
nimln_ ( 682 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
dotPos = (( NI ) 0 );
{
NI i ;
NI colontmp_ ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_53 ;
NI res ;
i = ( NI ) 0 ;
colontmp_ = ( NI ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 683 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( nimSubInt (( path ? path -> Sup . len : 0 ), (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_53 )) { raiseOverflow (); };
colontmp_ = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_53 );
2022-12-25 14:07:15 +02:00
nimln_ ( 33 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim" );
2022-09-19 09:55:15 +03:00
res = colontmp_ ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 34 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim" );
2022-09-19 09:55:15 +03:00
while ( 1 ) {
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_60 ;
if ( ! ((( NI ) 0 ) <= res )) goto LA3 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 683 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
i = res ;
{
NIM_BOOL T6_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 684 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T6_ = ( NIM_BOOL ) 0 ;
if ( i < 0 || i >= ( path ? path -> Sup . len : 0 )){ raiseIndexError2 ( i ,( path ? path -> Sup . len : 0 ) - 1 ); }
T6_ = ((( NU8 )( path -> data [ i ])) == (( NU8 )( 47 )) || (( NU8 )( path -> data [ i ])) == (( NU8 )( 47 )));
if ( T6_ ) goto LA7_ ;
T6_ = ( i == (( NI ) 0 ));
LA7_ : ;
if ( ! T6_ ) goto LA8_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 685 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NI T14_ ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_55 ;
if ( i < 0 || i >= ( path ? path -> Sup . len : 0 )){ raiseIndexError2 ( i ,( path ? path -> Sup . len : 0 ) - 1 ); }
if ( ! ((( NU8 )( path -> data [ i ])) == (( NU8 )( 47 )) || (( NU8 )( path -> data [ i ])) == (( NU8 )( 47 )))) goto LA12_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 686 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T14_ = ( NI ) 0 ;
{
NIM_BOOL T17_ ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_54 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2093 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim" );
nimln_ ( 686 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
nimln_ ( 2093 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim" );
2022-09-19 09:55:15 +03:00
T17_ = ( NIM_BOOL ) 0 ;
T17_ = NIM_LIKELY (((( NI ) 1 ) <= i ));
if ( ! T17_ ) goto LA18_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 686 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( nimSubInt ( i , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_54 )) { raiseOverflow (); };
T14_ = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_54 );
}
goto LA15_ ;
LA18_ : ;
{
T14_ = (( NI ) 0 );
}
LA15_ : ;
2022-12-25 14:07:15 +02:00
unsureAsgnRef (( void ** ) ( & ( * Result ). Field0 ), substr__system_7790 ( path , (( NI ) 0 ), T14_ ));
nimln_ ( 687 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( nimAddInt ( i , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_55 )) { raiseOverflow (); };
namePos = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_55 );
}
LA12_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 688 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_56 ;
if ( ! ( i < dotPos )) goto LA23_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 689 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( nimSubInt ( dotPos , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_56 )) { raiseOverflow (); };
2022-12-25 14:07:15 +02:00
unsureAsgnRef (( void ** ) ( & ( * Result ). Field1 ), substr__system_7790 ( path , namePos , ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_56 )));
nimln_ ( 690 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
unsureAsgnRef (( void ** ) ( & ( * Result ). Field2 ), substr__system_7802 ( path , dotPos ));
2022-09-19 09:55:15 +03:00
}
goto LA21_ ;
LA23_ : ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 692 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
unsureAsgnRef (( void ** ) ( & ( * Result ). Field1 ), substr__system_7802 ( path , namePos ));
2022-09-19 09:55:15 +03:00
}
LA21_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 693 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
goto LA1 ;
}
goto LA4_ ;
LA8_ : ;
{
NIM_BOOL T27_ ;
NIM_BOOL T28_ ;
NIM_BOOL T29_ ;
NIM_BOOL T30_ ;
NIM_BOOL T31_ ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_57 ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_58 ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_59 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 696 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T27_ = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 695 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T28_ = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 694 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T29_ = ( NIM_BOOL ) 0 ;
T30_ = ( NIM_BOOL ) 0 ;
T31_ = ( NIM_BOOL ) 0 ;
if ( i < 0 || i >= ( path ? path -> Sup . len : 0 )){ raiseIndexError2 ( i ,( path ? path -> Sup . len : 0 ) - 1 ); }
T31_ = (( NU8 )( path -> data [ i ]) == ( NU8 )( 46 ));
if ( ! ( T31_ )) goto LA32_ ;
T31_ = ((( NI ) 0 ) < i );
LA32_ : ;
T30_ = T31_ ;
if ( ! ( T30_ )) goto LA33_ ;
if ( nimSubInt (( path ? path -> Sup . len : 0 ), (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_57 )) { raiseOverflow (); };
T30_ = ( i < ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_57 ));
LA33_ : ;
T29_ = T30_ ;
if ( ! ( T29_ )) goto LA34_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 695 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( nimSubInt ( i , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_58 )) { raiseOverflow (); };
if (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_58 ) < 0 || ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_58 ) >= ( path ? path -> Sup . len : 0 )){ raiseIndexError2 (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_58 ),( path ? path -> Sup . len : 0 ) - 1 ); }
T29_ = ! (((( NU8 )( path -> data [( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_58 )])) == (( NU8 )( 47 )) || (( NU8 )( path -> data [( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_58 )])) == (( NU8 )( 47 ))));
LA34_ : ;
T28_ = T29_ ;
if ( ! ( T28_ )) goto LA35_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 696 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( nimAddInt ( i , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_59 )) { raiseOverflow (); };
if (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_59 ) < 0 || ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_59 ) >= ( path ? path -> Sup . len : 0 )){ raiseIndexError2 (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_59 ),( path ? path -> Sup . len : 0 ) - 1 ); }
T28_ = ! ((( NU8 )( path -> data [( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_59 )]) == ( NU8 )( 46 )));
LA35_ : ;
T27_ = T28_ ;
if ( ! ( T27_ )) goto LA36_ ;
T27_ = ( dotPos == (( NI ) 0 ));
LA36_ : ;
if ( ! T27_ ) goto LA37_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 697 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
dotPos = i ;
}
goto LA4_ ;
LA37_ : ;
LA4_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 36 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim" );
2022-09-19 09:55:15 +03:00
if ( nimSubInt ( res , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_60 )) { raiseOverflow (); };
res = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_60 );
} LA3 : ;
}
} LA1 : ;
popFrame ();
}
static N_INLINE ( tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q , toTime__pureZos_17 )( struct timespec ts ) {
tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "toTime" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
nimZeroMem (( void * )( & result ), sizeof ( tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q ));
2022-12-25 14:07:15 +02:00
nimln_ ( 61 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if (( ts . tv_nsec ) < (( NI ) 0 ) || ( ts . tv_nsec ) > (( NI ) 999999999 )){ raiseRangeErrorI ( ts . tv_nsec , (( NI ) 0 ), (( NI ) 999999999 )); }
2022-12-25 14:07:15 +02:00
result = initTime__pureZtimes_897 ((( NI64 ) ( ts . tv_sec )), (( NI ) ( ts . tv_nsec )));
2022-09-19 09:55:15 +03:00
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q , nosgetLastModificationTime )( NimStringDesc * file ) {
tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result ;
struct stat res ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "getLastModificationTime" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
nimZeroMem (( void * )( & result ), sizeof ( tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q ));
nimZeroMem (( void * )( & res ), sizeof ( struct stat ));
2022-12-25 14:07:15 +02:00
nimln_ ( 1294 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
int T3_ ;
NI32 T6_ ;
T3_ = ( int ) 0 ;
T3_ = stat ( nimToCStringConv ( file ), ( & res ));
if ( ! ( T3_ < (( NI32 ) 0 ))) goto LA4_ ;
T6_ = ( NI32 ) 0 ;
T6_ = osLastError__pureZos_408 ();
raiseOSError__pureZos_405 ( T6_ , file );
}
LA4_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1295 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = toTime__pureZos_17 ( res . st_mtim );
popFrame ();
return result ;
}
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , getApplAux__pureZos_1549 )( NimStringDesc * procPath ) {
2022-09-19 09:55:15 +03:00
NimStringDesc * result ;
NI len ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "getApplAux" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3048 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = mnewString ((( NI ) 1024 ));
2022-12-25 14:07:15 +02:00
nimln_ ( 3049 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
len = readlink ( nimToCStringConv ( procPath ), nimToCStringConv ( result ), (( NI ) 1024 ));
2022-12-25 14:07:15 +02:00
nimln_ ( 3050 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_61 ;
if ( ! ((( NI ) 1024 ) < len )) goto LA3_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3051 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( nimAddInt ( len , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_61 )) { raiseOverflow (); };
if ((( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_61 )) < (( NI ) 0 ) || (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_61 )) > (( NI ) IL64 ( 9223372036854775807 ))){ raiseRangeErrorI (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_61 ), (( NI ) 0 ), (( NI ) IL64 ( 9223372036854775807 ))); }
result = mnewString ((( NI ) (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_61 ))));
2022-12-25 14:07:15 +02:00
nimln_ ( 3052 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
len = readlink ( nimToCStringConv ( procPath ), nimToCStringConv ( result ), len );
}
LA3_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3053 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if (( len ) < (( NI ) 0 ) || ( len ) > (( NI ) IL64 ( 9223372036854775807 ))){ raiseRangeErrorI ( len , (( NI ) 0 ), (( NI ) IL64 ( 9223372036854775807 ))); }
result = setLengthStr ( result , (( NI ) ( len )));
popFrame ();
return result ;
}
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , getApplHeuristic__pureZos_1553 )( void ) {
2022-09-19 09:55:15 +03:00
NimStringDesc * result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "getApplHeuristic" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{ result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3092 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
result = paramStr__pureZos_1526 ((( NI ) 0 ));
nimln_ ( 3095 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T3_ ;
T3_ = ( NIM_BOOL ) 0 ;
T3_ = ((( NI ) 0 ) < ( result ? result -> Sup . len : 0 ));
if ( ! ( T3_ )) goto LA4_ ;
if ((( NI ) 0 ) < 0 || (( NI ) 0 ) >= ( result ? result -> Sup . len : 0 )){ raiseIndexError2 ((( NI ) 0 ),( result ? result -> Sup . len : 0 ) - 1 ); }
T3_ = ! ((( NU8 )( result -> data [(( NI ) 0 )]) == ( NU8 )( 47 )));
LA4_ : ;
if ( ! T3_ ) goto LA5_ ;
{
NimStringDesc * p ;
NimStringDesc * colontmp_ ;
2022-12-25 14:07:15 +02:00
NI lastX60gensym37_ ;
NI splitsX60gensym37_ ;
2022-09-19 09:55:15 +03:00
p = NIM_NIL ;
colontmp_ = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3097 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
colontmp_ = getEnv__pureZos_418 ((( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_32 ), (( NimStringDesc * ) NIM_NIL ));
nimln_ ( 365 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
lastX60gensym37_ = (( NI ) 0 );
nimln_ ( 366 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
splitsX60gensym37_ = (( NI ) - 1 );
2022-09-19 09:55:15 +03:00
{
2022-12-25 14:07:15 +02:00
nimln_ ( 475 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
2022-09-19 09:55:15 +03:00
while ( 1 ) {
2022-12-25 14:07:15 +02:00
NI firstX60gensym37_ ;
2022-09-19 09:55:15 +03:00
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_64 ;
NimStringDesc * x ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_65 ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_66 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 368 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
if ( ! ( lastX60gensym37_ <= ( colontmp_ ? colontmp_ -> Sup . len : 0 ))) goto LA9 ;
nimln_ ( 369 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
firstX60gensym37_ = lastX60gensym37_ ;
2022-09-19 09:55:15 +03:00
{
2022-12-25 14:07:15 +02:00
nimln_ ( 370 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
2022-09-19 09:55:15 +03:00
while ( 1 ) {
NIM_BOOL T12_ ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_63 ;
T12_ = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
T12_ = ( lastX60gensym37_ < ( colontmp_ ? colontmp_ -> Sup . len : 0 ));
2022-09-19 09:55:15 +03:00
if ( ! ( T12_ )) goto LA13_ ;
2022-12-25 14:07:15 +02:00
if ( lastX60gensym37_ < 0 || lastX60gensym37_ >= ( colontmp_ ? colontmp_ -> Sup . len : 0 )){ raiseIndexError2 ( lastX60gensym37_ ,( colontmp_ ? colontmp_ -> Sup . len : 0 ) - 1 ); }
T12_ = ! (((( NU8 )( colontmp_ -> data [ lastX60gensym37_ ])) == (( NU8 )( 58 ))));
2022-09-19 09:55:15 +03:00
LA13_ : ;
if ( ! T12_ ) goto LA11 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 371 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
if ( nimAddInt ( lastX60gensym37_ , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_63 )) { raiseOverflow (); };
lastX60gensym37_ = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_63 );
2022-09-19 09:55:15 +03:00
} LA11 : ;
}
2022-12-25 14:07:15 +02:00
nimln_ ( 372 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
2022-09-19 09:55:15 +03:00
{
2022-12-25 14:07:15 +02:00
if ( ! ( splitsX60gensym37_ == (( NI ) 0 ))) goto LA16_ ;
lastX60gensym37_ = ( colontmp_ ? colontmp_ -> Sup . len : 0 );
2022-09-19 09:55:15 +03:00
}
LA16_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3097 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
nimln_ ( 373 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
if ( nimSubInt ( lastX60gensym37_ , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_64 )) { raiseOverflow (); };
nimln_ ( 3097 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
p = substr__system_7790 ( colontmp_ , firstX60gensym37_ , ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_64 ));
nimln_ ( 3098 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
x = nosjoinPath ( p , result );
2022-12-25 14:07:15 +02:00
nimln_ ( 3097 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T20_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3099 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T20_ = ( NIM_BOOL ) 0 ;
T20_ = nosfileExists ( x );
if ( ! T20_ ) goto LA21_ ;
result = copyString ( x );
goto BeforeRet_ ;
}
LA21_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 374 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
2022-09-19 09:55:15 +03:00
{
2022-12-25 14:07:15 +02:00
if ( ! ( splitsX60gensym37_ == (( NI ) 0 ))) goto LA25_ ;
2022-09-19 09:55:15 +03:00
goto LA8 ;
}
LA25_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 375 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
if ( nimSubInt ( splitsX60gensym37_ , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_65 )) { raiseOverflow (); };
splitsX60gensym37_ = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_65 );
nimln_ ( 376 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
if ( nimAddInt ( lastX60gensym37_ , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_66 )) { raiseOverflow (); };
lastX60gensym37_ = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_66 );
2022-09-19 09:55:15 +03:00
} LA9 : ;
} LA8 : ;
}
}
LA5_ : ;
} BeforeRet_ : ;
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , nosgetAppFilename )( void ) {
NimStringDesc * result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "getAppFilename" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3183 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
result = getApplAux__pureZos_1549 ((( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_62 ));
nimln_ ( 3196 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! (( result ? result -> Sup . len : 0 ) == (( NI ) 0 ))) goto LA3_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3197 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
result = getApplHeuristic__pureZos_1553 ();
2022-09-19 09:55:15 +03:00
}
LA3_ : ;
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , nosgetTempDir )( void ) {
NimStringDesc * result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "getTempDir" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_NIL ;
{
2022-12-25 14:07:15 +02:00
NimStringDesc * dirX60gensym71_ ;
2022-09-19 09:55:15 +03:00
NI i ;
2022-12-25 14:07:15 +02:00
dirX60gensym71_ = NIM_NIL ;
nimln_ ( 33 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim" );
2022-09-19 09:55:15 +03:00
i = (( NI ) 0 );
{
2022-12-25 14:07:15 +02:00
nimln_ ( 34 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim" );
2022-09-19 09:55:15 +03:00
while ( 1 ) {
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_72 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1013 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
dirX60gensym71_ = copyString ( TM__yu6cxgKBBXbNsTkT9cyMd4g_67 [( i ) - 0 ]);
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T6_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 966 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T6_ = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
T6_ = existsEnv__pureZos_423 ( dirX60gensym71_ );
2022-09-19 09:55:15 +03:00
if ( ! T6_ ) goto LA7_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 967 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
result = getEnv__pureZos_418 ( dirX60gensym71_ , (( NimStringDesc * ) NIM_NIL ));
nimln_ ( 968 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
goto LA1 ;
}
LA7_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 36 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! ((( NI ) 3 ) <= (( NI ) ( i )))) goto LA11_ ;
goto LA2 ;
}
LA11_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 37 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim" );
2022-09-19 09:55:15 +03:00
if ( nimAddInt ( i , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_72 )) { raiseOverflow (); };
if ( TM__yu6cxgKBBXbNsTkT9cyMd4g_72 < 0 || TM__yu6cxgKBBXbNsTkT9cyMd4g_72 > 3 ){ raiseOverflow (); }
i = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_72 );
}
} LA2 : ;
} LA1 : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1014 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! (( result ? result -> Sup . len : 0 ) == (( NI ) 0 ))) goto LA15_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 996 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = copyString ((( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_73 ));
}
LA15_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1016 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
normalizePathEnd__pureZos_51 (( & result ), NIM_TRUE );
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , noschangeFileExt )( NimStringDesc * filename , NimStringDesc * ext ) {
NimStringDesc * result ;
NI extPos ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "changeFileExt" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 762 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
extPos = searchExtPos__pureZos_271 ( filename );
2022-12-25 14:07:15 +02:00
nimln_ ( 763 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NimStringDesc * T5_ ;
NimStringDesc * T6_ ;
if ( ! ( extPos < (( NI ) 0 ))) goto LA3_ ;
T5_ = NIM_NIL ;
T6_ = NIM_NIL ;
T6_ = normExt__pureZos_268 ( ext );
T5_ = rawNewString (( filename ? filename -> Sup . len : 0 ) + ( T6_ ? T6_ -> Sup . len : 0 ) + 0 );
appendString ( T5_ , filename );
appendString ( T5_ , T6_ );
result = T5_ ;
}
goto LA1_ ;
LA3_ : ;
{
NimStringDesc * T8_ ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_74 ;
NimStringDesc * T9_ ;
NimStringDesc * T10_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 764 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T8_ = NIM_NIL ;
if ( nimSubInt ( extPos , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_74 )) { raiseOverflow (); };
T9_ = NIM_NIL ;
2022-12-25 14:07:15 +02:00
T9_ = substr__system_7790 ( filename , (( NI ) 0 ), ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_74 ));
2022-09-19 09:55:15 +03:00
T10_ = NIM_NIL ;
T10_ = normExt__pureZos_268 ( ext );
T8_ = rawNewString (( T9_ ? T9_ -> Sup . len : 0 ) + ( T10_ ? T10_ -> Sup . len : 0 ) + 0 );
appendString ( T8_ , T9_ );
appendString ( T8_ , T10_ );
result = T8_ ;
}
LA1_ : ;
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , nosextractFilename )( NimStringDesc * path ) {
NimStringDesc * result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "extractFilename" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 717 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T3_ ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_75 ;
T3_ = ( NIM_BOOL ) 0 ;
T3_ = (( path ? path -> Sup . len : 0 ) == (( NI ) 0 ));
if ( T3_ ) goto LA4_ ;
if ( nimSubInt (( path ? path -> Sup . len : 0 ), (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_75 )) { raiseOverflow (); };
if (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_75 ) < 0 || ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_75 ) >= ( path ? path -> Sup . len : 0 )){ raiseIndexError2 (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_75 ),( path ? path -> Sup . len : 0 ) - 1 ); }
T3_ = ((( NU8 )( path -> data [( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_75 )])) == (( NU8 )( 47 )) || (( NU8 )( path -> data [( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_75 )])) == (( NU8 )( 47 )));
LA4_ : ;
if ( ! T3_ ) goto LA5_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 718 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = (( NimStringDesc * ) NIM_NIL );
}
goto LA1_ ;
LA5_ : ;
{
tyTuple__UV3llMMYFckfui8YMBuUZA T8_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 720 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
nimZeroMem (( void * )( & T8_ ), sizeof ( tyTuple__UV3llMMYFckfui8YMBuUZA ));
nossplitPath ( path , ( & T8_ ));
result = copyString ( T8_ . Field1 );
}
LA1_ : ;
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( NIM_BOOL , nostryRemoveFile )( NimStringDesc * file ) {
NIM_BOOL result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "tryRemoveFile" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1952 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_TRUE ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1968 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T3_ ;
int T4_ ;
T3_ = ( NIM_BOOL ) 0 ;
T4_ = ( int ) 0 ;
T4_ = unlink ( nimToCStringConv ( file ));
T3_ = ! (( T4_ == (( NI32 ) 0 )));
if ( ! ( T3_ )) goto LA5_ ;
T3_ = ! (( errno == (( int ) 2 )));
LA5_ : ;
if ( ! T3_ ) goto LA6_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1969 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_FALSE ;
}
LA6_ : ;
popFrame ();
return result ;
}
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NI , getCurrentProcessId__pureZos_1745 )( void ) {
2022-09-19 09:55:15 +03:00
NI result ;
pid_t T1_ ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "getCurrentProcessId" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = ( NI ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3482 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T1_ = ( pid_t ) 0 ;
T1_ = getpid ();
result = (( NI ) ( T1_ ));
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , nospquoteShellPosix )( NimStringDesc * s ) {
NimStringDesc * result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "quoteShellPosix" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1084 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! (( s ? s -> Sup . len : 0 ) == (( NI ) 0 ))) goto LA3_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1085 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = copyString ((( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_76 ));
}
goto LA1_ ;
LA3_ : ;
{
NIM_BOOL T6_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1086 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T6_ = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
T6_ = allCharsInSet__pureZstrutils_1402 ( s , TM__yu6cxgKBBXbNsTkT9cyMd4g_77 );
2022-09-19 09:55:15 +03:00
if ( ! T6_ ) goto LA7_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1087 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = copyString ( s );
}
goto LA1_ ;
LA7_ : ;
{
NimStringDesc * T10_ ;
NimStringDesc * T11_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1089 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T10_ = NIM_NIL ;
T11_ = NIM_NIL ;
T11_ = nsuReplaceStr ( s , (( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_47 ), (( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_78 ));
T10_ = rawNewString (( T11_ ? T11_ -> Sup . len : 0 ) + 2 );
appendString ( T10_ , (( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_47 ));
appendString ( T10_ , T11_ );
appendString ( T10_ , (( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_47 ));
result = T10_ ;
}
LA1_ : ;
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , nospquoteShell )( NimStringDesc * s ) {
NimStringDesc * result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "quoteShell" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1101 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = nospquoteShellPosix ( s );
popFrame ();
return result ;
}
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( int , exitStatusLikeShell__pureZos_1100 )( int status ) {
2022-09-19 09:55:15 +03:00
int result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "exitStatusLikeShell" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = ( int ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2048 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
nimln_ ( 2050 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T3_ ;
int T6_ ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_79 ;
T3_ = ( NIM_BOOL ) 0 ;
T3_ = WIFSIGNALED__posixZposix_1063 ( status );
if ( ! T3_ ) goto LA4_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2052 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T6_ = ( int ) 0 ;
T6_ = WTERMSIG__posixZposix_1054 ( status );
if ( nimAddInt ((( NI32 ) 128 ), T6_ , & TM__yu6cxgKBBXbNsTkT9cyMd4g_79 )) { raiseOverflow (); };
if ( TM__yu6cxgKBBXbNsTkT9cyMd4g_79 < ( - 2147483647 - 1 ) || TM__yu6cxgKBBXbNsTkT9cyMd4g_79 > 2147483647 ){ raiseOverflow (); }
result = ( NI32 )( TM__yu6cxgKBBXbNsTkT9cyMd4g_79 );
}
goto LA1_ ;
LA4_ : ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 2054 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = WEXITSTATUS__posixZposix_1047 ( status );
}
LA1_ : ;
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( NIM_BOOL , nosisRootDir )( NimStringDesc * path ) {
NIM_BOOL result ;
NI T1_ ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "isRootDir" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 545 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T1_ = ( NI ) 0 ;
T1_ = parentDirPos__pureZos_195 ( path );
result = ( T1_ < (( NI ) 0 ));
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( NI , noscmpPaths )( NimStringDesc * pathA , NimStringDesc * pathB ) {
NI result ;
NimStringDesc * a ;
NimStringDesc * b ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "cmpPaths" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = ( NI ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 806 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
a = normalizePath__pureZpathnorm_127 ( pathA , 47 );
2022-12-25 14:07:15 +02:00
nimln_ ( 807 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
b = normalizePath__pureZpathnorm_127 ( pathB , 47 );
2022-12-25 14:07:15 +02:00
nimln_ ( 808 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! NIM_TRUE ) goto LA3_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 809 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = cmp__system_1549 ( a , b );
}
goto LA1_ ;
LA3_ : ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 815 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = nsuCmpIgnoreCase ( a , b );
}
LA1_ : ;
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , nosexpandFilename )( NimStringDesc * filename ) {
NimStringDesc * result ;
NCSTRING r ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "expandFilename" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2230 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
r = realpath ( nimToCStringConv ( filename ), (( NCSTRING ) NIM_NIL ));
2022-12-25 14:07:15 +02:00
nimln_ ( 2231 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NI32 T5_ ;
if ( ! ( r == 0 )) goto LA3_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2232 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T5_ = ( NI32 ) 0 ;
T5_ = osLastError__pureZos_408 ();
raiseOSError__pureZos_405 ( T5_ , filename );
}
goto LA1_ ;
LA3_ : ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 2234 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = cstrToNimstr ( r );
2022-12-25 14:07:15 +02:00
nimln_ ( 2235 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
free ((( void * ) ( r )));
}
LA1_ : ;
popFrame ();
return result ;
}
static N_INLINE ( void , pushSafePoint )( TSafePoint * s ) {
2022-12-25 14:07:15 +02:00
( * s ). prev = excHandler__system_2565 ;
excHandler__system_2565 = s ;
2022-09-19 09:55:15 +03:00
}
N_LIB_PRIVATE N_NIMCALL ( void , nosremoveFile )( NimStringDesc * file ) {
2022-12-25 14:07:15 +02:00
nimfr_ ( "removeFile" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
nimln_ ( 1985 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T3_ ;
NI32 T6_ ;
T3_ = ( NIM_BOOL ) 0 ;
T3_ = nostryRemoveFile ( file );
if ( !! ( T3_ )) goto LA4_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1986 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T6_ = ( NI32 ) 0 ;
T6_ = osLastError__pureZos_408 ();
raiseOSError__pureZos_405 ( T6_ , file );
}
LA4_ : ;
popFrame ();
}
static N_INLINE ( void , popSafePoint )( void ) {
2022-12-25 14:07:15 +02:00
excHandler__system_2565 = ( * excHandler__system_2565 ). prev ;
2022-09-19 09:55:15 +03:00
}
static N_INLINE ( TFrame * , getFrame )( void ) {
TFrame * result ;
result = ( TFrame * ) 0 ;
2022-12-25 14:07:15 +02:00
result = framePtr__system_2564 ;
2022-09-19 09:55:15 +03:00
return result ;
}
static N_INLINE ( void , setFrame )( TFrame * s ) {
2022-12-25 14:07:15 +02:00
framePtr__system_2564 = s ;
2022-09-19 09:55:15 +03:00
}
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( void , rawRemoveDir__pureZos_1399 )( NimStringDesc * dir ) {
nimfr_ ( "rawRemoveDir" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
nimln_ ( 2438 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T3_ ;
int T4_ ;
NI32 T8_ ;
T3_ = ( NIM_BOOL ) 0 ;
T4_ = ( int ) 0 ;
T4_ = rmdir ( nimToCStringConv ( dir ));
T3_ = ! (( T4_ == (( NI32 ) 0 )));
if ( ! ( T3_ )) goto LA5_ ;
T3_ = ! (( errno == (( int ) 2 )));
LA5_ : ;
if ( ! T3_ ) goto LA6_ ;
T8_ = ( NI32 ) 0 ;
T8_ = osLastError__pureZos_408 ();
raiseOSError__pureZos_405 ( T8_ , dir );
}
LA6_ : ;
popFrame ();
}
N_LIB_PRIVATE N_NIMCALL ( void , nosremoveDir )( NimStringDesc * dir , NIM_BOOL checkDir ) {
TFrame * _nimCurFrame ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "removeDir" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
_nimCurFrame = getFrame ();
{
tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg kind ;
NimStringDesc * path ;
DIR * d ;
kind = ( tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg ) 0 ;
path = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2331 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
d = opendir ( nimToCStringConv ( dir ));
2022-12-25 14:07:15 +02:00
nimln_ ( 2332 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! ( d == (( DIR * ) NIM_NIL ))) goto LA4_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2333 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NI32 T10_ ;
if ( ! checkDir ) goto LA8_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2334 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T10_ = ( NI32 ) 0 ;
T10_ = osLastError__pureZos_408 ();
raiseOSError__pureZos_405 ( T10_ , dir );
}
LA8_ : ;
}
goto LA2_ ;
LA4_ : ;
{
TSafePoint TM__yu6cxgKBBXbNsTkT9cyMd4g_80 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2336 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
pushSafePoint ( & TM__yu6cxgKBBXbNsTkT9cyMd4g_80 );
TM__yu6cxgKBBXbNsTkT9cyMd4g_80 . status = setjmp ( TM__yu6cxgKBBXbNsTkT9cyMd4g_80 . context );
if ( TM__yu6cxgKBBXbNsTkT9cyMd4g_80 . status == 0 ) {
{
2022-12-25 14:07:15 +02:00
nimln_ ( 2337 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
while ( 1 ) {
{
struct dirent * x ;
NimStringDesc * y ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2338 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
x = readdir ( d );
2022-12-25 14:07:15 +02:00
nimln_ ( 2339 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! ( x == (( struct dirent * ) NIM_NIL ))) goto LA17_ ;
goto LA12 ;
}
LA17_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2340 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
y = cstrToNimstr ((( NCSTRING ) (( * x ). d_name )));
2022-12-25 14:07:15 +02:00
nimln_ ( 2341 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T21_ ;
struct stat s ;
NimStringDesc * path_2 ;
tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg k ;
T21_ = ( NIM_BOOL ) 0 ;
T21_ = ! ( eqStrings ( y , (( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_40 )));
if ( ! ( T21_ )) goto LA22_ ;
T21_ = ! ( eqStrings ( y , (( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_39 )));
LA22_ : ;
if ( ! T21_ ) goto LA23_ ;
nimZeroMem (( void * )( & s ), sizeof ( struct stat ));
2022-12-25 14:07:15 +02:00
nimln_ ( 2343 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
path_2 = slash___pureZos_121 ( dir , y );
2022-12-25 14:07:15 +02:00
nimln_ ( 2344 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! NIM_TRUE ) goto LA27_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2345 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
y = copyString ( path_2 );
}
LA27_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2346 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
k = (( tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg ) 0 );
2022-12-25 14:07:15 +02:00
nimln_ ( 2357 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
switch (( * x ). d_type ) {
case (( NI ) 4 ) :
{
2022-12-25 14:07:15 +02:00
nimln_ ( 2358 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
k = (( tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg ) 2 );
}
break ;
case (( NI ) 10 ) :
{
2022-12-25 14:07:15 +02:00
nimln_ ( 2360 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T33_ ;
T33_ = ( NIM_BOOL ) 0 ;
T33_ = nosdirExists ( path_2 );
if ( ! T33_ ) goto LA34_ ;
k = (( tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg ) 3 );
}
goto LA31_ ;
LA34_ : ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 2361 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
k = (( tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg ) 1 );
}
LA31_ : ;
}
break ;
case (( NI ) 0 ) :
{
2022-12-25 14:07:15 +02:00
nimln_ ( 2363 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
int T40_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2349 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T40_ = ( int ) 0 ;
T40_ = lstat ( nimToCStringConv ( path_2 ), ( & s ));
if ( ! ( T40_ < (( NI32 ) 0 ))) goto LA41_ ;
goto LA14 ;
}
goto LA38_ ;
LA41_ : ;
{
NIM_BOOL T44_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2350 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T44_ = ( NIM_BOOL ) 0 ;
T44_ = S_ISDIR ( s . st_mode );
if ( ! T44_ ) goto LA45_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2351 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
k = (( tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg ) 2 );
}
goto LA38_ ;
LA45_ : ;
{
NIM_BOOL T48_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2352 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T48_ = ( NIM_BOOL ) 0 ;
T48_ = S_ISLNK ( s . st_mode );
if ( ! T48_ ) goto LA49_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2353 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
k = getSymlinkFileKind__pureZos_1220 ( path_2 );
2022-09-19 09:55:15 +03:00
}
goto LA38_ ;
LA49_ : ;
LA38_ : ;
}
break ;
default :
{
}
break ;
}
2022-12-25 14:07:15 +02:00
nimln_ ( 2456 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
kind = k ;
path = y ;
switch ( kind ) {
case (( tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg ) 0 ) :
case (( tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg ) 1 ) :
case (( tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg ) 3 ) :
{
2022-12-25 14:07:15 +02:00
nimln_ ( 2458 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
nosremoveFile ( path );
}
break ;
case (( tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg ) 2 ) :
{
2022-12-25 14:07:15 +02:00
nimln_ ( 2459 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
nosremoveDir ( path , NIM_TRUE );
}
break ;
}
}
LA23_ : ;
} LA14 : ;
}
} LA12 : ;
popSafePoint ();
}
else {
popSafePoint ();
setFrame ( _nimCurFrame );
}
{
int T56_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2336 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T56_ = ( int ) 0 ;
T56_ = closedir ( d );
( void )( T56_ );
if ( TM__yu6cxgKBBXbNsTkT9cyMd4g_80 . status != 0 ) nimLeaveFinally ();
}
if ( TM__yu6cxgKBBXbNsTkT9cyMd4g_80 . status != 0 ) reraiseException ();
}
LA2_ : ;
}
2022-12-25 14:07:15 +02:00
nimln_ ( 2463 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
rawRemoveDir__pureZos_1399 ( dir );
2022-09-19 09:55:15 +03:00
popFrame ();
}
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( void , getFileInfo__pureZos_1677 )( NimStringDesc * path , NIM_BOOL followSymlink , tyObject_FileInfo__i26mN9byzlhWT5HGlFoyCYQ * Result ) {
2022-09-19 09:55:15 +03:00
struct stat rawInfo ;
dev_t colontmp_ ;
ino_t colontmp__2 ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "getFileInfo" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
nimZeroMem (( void * ) Result , sizeof ( tyObject_FileInfo__i26mN9byzlhWT5HGlFoyCYQ ));
nimZeroMem (( void * )( & rawInfo ), sizeof ( struct stat ));
2022-12-25 14:07:15 +02:00
nimln_ ( 3401 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! followSymlink ) goto LA3_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3402 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
int T7_ ;
NI32 T10_ ;
T7_ = ( int ) 0 ;
T7_ = stat ( nimToCStringConv ( path ), ( & rawInfo ));
if ( ! ( T7_ < (( NI32 ) 0 ))) goto LA8_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3403 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T10_ = ( NI32 ) 0 ;
T10_ = osLastError__pureZos_408 ();
raiseOSError__pureZos_405 ( T10_ , path );
}
LA8_ : ;
}
goto LA1_ ;
LA3_ : ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 3405 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
int T14_ ;
NI32 T17_ ;
T14_ = ( int ) 0 ;
T14_ = lstat ( nimToCStringConv ( path ), ( & rawInfo ));
if ( ! ( T14_ < (( NI32 ) 0 ))) goto LA15_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3406 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T17_ = ( NI32 ) 0 ;
T17_ = osLastError__pureZos_408 ();
raiseOSError__pureZos_405 ( T17_ , path );
}
LA15_ : ;
}
LA1_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3299 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
colontmp_ = rawInfo . st_dev ;
colontmp__2 = rawInfo . st_ino ;
( * Result ). id . Field0 = colontmp_ ;
( * Result ). id . Field1 = colontmp__2 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3300 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
( * Result ). size = (( NI64 ) ( rawInfo . st_size ));
2022-12-25 14:07:15 +02:00
nimln_ ( 3301 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( rawInfo . st_nlink > ( nlink_t )( IL64 ( 9223372036854775807 ))){ raiseRangeErrorNoArgs (); }
( * Result ). linkCount = (( NI64 ) ( rawInfo . st_nlink ));
2022-12-25 14:07:15 +02:00
nimln_ ( 3302 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
( * Result ). lastAccessTime = toTime__pureZos_17 ( rawInfo . st_atim );
2022-12-25 14:07:15 +02:00
nimln_ ( 3303 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
( * Result ). lastWriteTime = toTime__pureZos_17 ( rawInfo . st_mtim );
2022-12-25 14:07:15 +02:00
nimln_ ( 3304 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
( * Result ). creationTime = toTime__pureZos_17 ( rawInfo . st_ctim );
2022-12-25 14:07:15 +02:00
nimln_ ( 3305 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
( * Result ). blockSize = rawInfo . st_blksize ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3307 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
( * Result ). permissions = 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3308 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
2022-12-25 14:07:15 +02:00
nimln_ ( 3297 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( !! ((( NU32 )( rawInfo . st_mode & (( mode_t ) 256 )) == (( mode_t ) 0 )))) goto LA20_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3298 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
( * Result ). permissions |= (( NU16 ) 1 ) << (((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 2 )) & 15 );
}
LA20_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3309 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
2022-12-25 14:07:15 +02:00
nimln_ ( 3297 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( !! ((( NU32 )( rawInfo . st_mode & (( mode_t ) 128 )) == (( mode_t ) 0 )))) goto LA24_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3298 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
( * Result ). permissions |= (( NU16 ) 1 ) << (((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 1 )) & 15 );
}
LA24_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3310 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
2022-12-25 14:07:15 +02:00
nimln_ ( 3297 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( !! ((( NU32 )( rawInfo . st_mode & (( mode_t ) 64 )) == (( mode_t ) 0 )))) goto LA28_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3298 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
( * Result ). permissions |= (( NU16 ) 1 ) << (((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 0 )) & 15 );
}
LA28_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3312 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
2022-12-25 14:07:15 +02:00
nimln_ ( 3297 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( !! ((( NU32 )( rawInfo . st_mode & (( mode_t ) 32 )) == (( mode_t ) 0 )))) goto LA32_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3298 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
( * Result ). permissions |= (( NU16 ) 1 ) << (((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 5 )) & 15 );
}
LA32_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3313 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
2022-12-25 14:07:15 +02:00
nimln_ ( 3297 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( !! ((( NU32 )( rawInfo . st_mode & (( mode_t ) 16 )) == (( mode_t ) 0 )))) goto LA36_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3298 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
( * Result ). permissions |= (( NU16 ) 1 ) << (((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 4 )) & 15 );
}
LA36_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3314 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
2022-12-25 14:07:15 +02:00
nimln_ ( 3297 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( !! ((( NU32 )( rawInfo . st_mode & (( mode_t ) 8 )) == (( mode_t ) 0 )))) goto LA40_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3298 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
( * Result ). permissions |= (( NU16 ) 1 ) << (((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 3 )) & 15 );
}
LA40_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3316 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
2022-12-25 14:07:15 +02:00
nimln_ ( 3297 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( !! ((( NU32 )( rawInfo . st_mode & (( mode_t ) 4 )) == (( mode_t ) 0 )))) goto LA44_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3298 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
( * Result ). permissions |= (( NU16 ) 1 ) << (((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 8 )) & 15 );
}
LA44_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3317 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
2022-12-25 14:07:15 +02:00
nimln_ ( 3297 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( !! ((( NU32 )( rawInfo . st_mode & (( mode_t ) 2 )) == (( mode_t ) 0 )))) goto LA48_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3298 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
( * Result ). permissions |= (( NU16 ) 1 ) << (((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 7 )) & 15 );
}
LA48_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3318 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
2022-12-25 14:07:15 +02:00
nimln_ ( 3297 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( !! ((( NU32 )( rawInfo . st_mode & (( mode_t ) 1 )) == (( mode_t ) 0 )))) goto LA52_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3298 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
( * Result ). permissions |= (( NU16 ) 1 ) << (((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 6 )) & 15 );
}
LA52_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3321 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T56_ ;
T56_ = ( NIM_BOOL ) 0 ;
T56_ = S_ISDIR ( rawInfo . st_mode );
if ( ! T56_ ) goto LA57_ ;
( * Result ). kind = (( tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg ) 2 );
}
goto LA54_ ;
LA57_ : ;
{
NIM_BOOL T60_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3323 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T60_ = ( NIM_BOOL ) 0 ;
T60_ = S_ISLNK ( rawInfo . st_mode );
if ( ! T60_ ) goto LA61_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3324 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( !! ( ! ((( path ? path -> Sup . len : 0 ) == 0 )))) goto LA65_ ;
2022-12-25 14:07:15 +02:00
failedAssertImpl__systemZassertions_56 ((( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_81 ));
2022-09-19 09:55:15 +03:00
}
LA65_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 3325 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
( * Result ). kind = getSymlinkFileKind__pureZos_1220 ( path );
2022-09-19 09:55:15 +03:00
}
goto LA54_ ;
LA61_ : ;
{
( * Result ). kind = (( tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg ) 0 );
}
LA54_ : ;
popFrame ();
}
N_LIB_PRIVATE N_NIMCALL ( void , nossetFilePermissions )( NimStringDesc * filename , tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA permissions , NIM_BOOL followSymlinks ) {
mode_t p ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "setFilePermissions" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
nimln_ ( 1675 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
p = (( mode_t ) 0 );
2022-12-25 14:07:15 +02:00
nimln_ ( 1676 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! (( permissions & (( NU16 ) 1 << (( NU )((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 2 )) & 15U ))) != 0 )) goto LA3_ ;
p = ( NU32 )( p | (( mode_t ) 256 ));
}
LA3_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1677 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! (( permissions & (( NU16 ) 1 << (( NU )((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 1 )) & 15U ))) != 0 )) goto LA7_ ;
p = ( NU32 )( p | (( mode_t ) 128 ));
}
LA7_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1678 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! (( permissions & (( NU16 ) 1 << (( NU )((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 0 )) & 15U ))) != 0 )) goto LA11_ ;
p = ( NU32 )( p | (( mode_t ) 64 ));
}
LA11_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1680 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! (( permissions & (( NU16 ) 1 << (( NU )((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 5 )) & 15U ))) != 0 )) goto LA15_ ;
p = ( NU32 )( p | (( mode_t ) 32 ));
}
LA15_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1681 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! (( permissions & (( NU16 ) 1 << (( NU )((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 4 )) & 15U ))) != 0 )) goto LA19_ ;
p = ( NU32 )( p | (( mode_t ) 16 ));
}
LA19_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1682 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! (( permissions & (( NU16 ) 1 << (( NU )((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 3 )) & 15U ))) != 0 )) goto LA23_ ;
p = ( NU32 )( p | (( mode_t ) 8 ));
}
LA23_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1684 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! (( permissions & (( NU16 ) 1 << (( NU )((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 8 )) & 15U ))) != 0 )) goto LA27_ ;
p = ( NU32 )( p | (( mode_t ) 4 ));
}
LA27_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1685 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! (( permissions & (( NU16 ) 1 << (( NU )((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 7 )) & 15U ))) != 0 )) goto LA31_ ;
p = ( NU32 )( p | (( mode_t ) 2 ));
}
LA31_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1686 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! (( permissions & (( NU16 ) 1 << (( NU )((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 6 )) & 15U ))) != 0 )) goto LA35_ ;
p = ( NU32 )( p | (( mode_t ) 1 ));
}
LA35_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1688 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T39_ ;
T39_ = ( NIM_BOOL ) 0 ;
T39_ = ! ( followSymlinks );
if ( ! ( T39_ )) goto LA40_ ;
T39_ = nossymlinkExists ( filename );
LA40_ : ;
if ( ! T39_ ) goto LA41_ ;
}
goto LA37_ ;
LA41_ : ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 1693 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
int T46_ ;
NI32 T49_ ;
tyTuple__HFn8JzZZeLZ9aKrFg4S9a7HA T50_ ;
NimStringDesc * T51_ ;
T46_ = ( int ) 0 ;
T46_ = chmod ( nimToCStringConv ( filename ), (( mode_t ) ( p )));
if ( !! (( T46_ == (( NI32 ) 0 )))) goto LA47_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1694 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T49_ = ( NI32 ) 0 ;
T49_ = osLastError__pureZos_408 ();
nimZeroMem (( void * )( & T50_ ), sizeof ( tyTuple__HFn8JzZZeLZ9aKrFg4S9a7HA ));
T50_ . Field0 = copyString ( filename );
T50_ . Field1 = permissions ;
T51_ = NIM_NIL ;
2022-12-25 14:07:15 +02:00
T51_ = dollar___pureZos_873 ( T50_ );
2022-09-19 09:55:15 +03:00
raiseOSError__pureZos_405 ( T49_ , T51_ );
}
LA47_ : ;
}
LA37_ : ;
popFrame ();
}
N_LIB_PRIVATE N_NIMCALL ( tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA , nosgetFilePermissions )( NimStringDesc * filename ) {
tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA result ;
struct stat a ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "getFilePermissions" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
nimZeroMem (( void * )( & result ), sizeof ( tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ));
nimZeroMem (( void * )( & a ), sizeof ( struct stat ));
2022-12-25 14:07:15 +02:00
nimln_ ( 1630 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
int T3_ ;
NI32 T6_ ;
T3_ = ( int ) 0 ;
T3_ = stat ( nimToCStringConv ( filename ), ( & a ));
if ( ! ( T3_ < (( NI32 ) 0 ))) goto LA4_ ;
T6_ = ( NI32 ) 0 ;
T6_ = osLastError__pureZos_408 ();
raiseOSError__pureZos_405 ( T6_ , filename );
}
LA4_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1631 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1632 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( !! ((( NU32 )( a . st_mode & (( mode_t ) 256 )) == (( mode_t ) 0 )))) goto LA9_ ;
result |= (( NU16 ) 1 ) << (((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 2 )) & 15 );
}
LA9_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1633 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( !! ((( NU32 )( a . st_mode & (( mode_t ) 128 )) == (( mode_t ) 0 )))) goto LA13_ ;
result |= (( NU16 ) 1 ) << (((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 1 )) & 15 );
}
LA13_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1634 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( !! ((( NU32 )( a . st_mode & (( mode_t ) 64 )) == (( mode_t ) 0 )))) goto LA17_ ;
result |= (( NU16 ) 1 ) << (((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 0 )) & 15 );
}
LA17_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1636 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( !! ((( NU32 )( a . st_mode & (( mode_t ) 32 )) == (( mode_t ) 0 )))) goto LA21_ ;
result |= (( NU16 ) 1 ) << (((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 5 )) & 15 );
}
LA21_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1637 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( !! ((( NU32 )( a . st_mode & (( mode_t ) 16 )) == (( mode_t ) 0 )))) goto LA25_ ;
result |= (( NU16 ) 1 ) << (((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 4 )) & 15 );
}
LA25_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1638 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( !! ((( NU32 )( a . st_mode & (( mode_t ) 8 )) == (( mode_t ) 0 )))) goto LA29_ ;
result |= (( NU16 ) 1 ) << (((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 3 )) & 15 );
}
LA29_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1640 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( !! ((( NU32 )( a . st_mode & (( mode_t ) 4 )) == (( mode_t ) 0 )))) goto LA33_ ;
result |= (( NU16 ) 1 ) << (((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 8 )) & 15 );
}
LA33_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1641 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( !! ((( NU32 )( a . st_mode & (( mode_t ) 2 )) == (( mode_t ) 0 )))) goto LA37_ ;
result |= (( NU16 ) 1 ) << (((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 7 )) & 15 );
}
LA37_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1642 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( !! ((( NU32 )( a . st_mode & (( mode_t ) 1 )) == (( mode_t ) 0 )))) goto LA41_ ;
result |= (( NU16 ) 1 ) << (((( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA ) 6 )) & 15 );
}
LA41_ : ;
popFrame ();
return result ;
}
static N_INLINE ( void , popCurrentException )( void ) {
2022-12-25 14:07:15 +02:00
asgnRef (( void ** ) ( & currException__system_2566 ), ( * currException__system_2566 ). up );
2022-09-19 09:55:15 +03:00
}
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( void , copyFileWithPermissions__pureZos_1450 )( NimStringDesc * source , NimStringDesc * dest , NIM_BOOL ignorePermissionErrors , tySet_tyEnum_CopyFlag__pdzel23GjJ9cPFw8c5ldeRA options ) {
2022-09-19 09:55:15 +03:00
TSafePoint TM__yu6cxgKBBXbNsTkT9cyMd4g_82 ;
tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA T1_ ;
TFrame * _nimCurFrame ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "copyFileWithPermissions" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
_nimCurFrame = getFrame ();
2022-12-25 14:07:15 +02:00
nimln_ ( 2665 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
noscopyFile ( source , dest , options );
2022-12-25 14:07:15 +02:00
nimln_ ( 2667 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
pushSafePoint ( & TM__yu6cxgKBBXbNsTkT9cyMd4g_82 );
TM__yu6cxgKBBXbNsTkT9cyMd4g_82 . status = setjmp ( TM__yu6cxgKBBXbNsTkT9cyMd4g_82 . context );
if ( TM__yu6cxgKBBXbNsTkT9cyMd4g_82 . status == 0 ) {
2022-12-25 14:07:15 +02:00
nimln_ ( 2668 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T1_ = nosgetFilePermissions ( source );
2022-12-25 14:07:15 +02:00
nimln_ ( 2669 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
nimln_ ( 2668 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
nossetFilePermissions ( dest , T1_ , (( options & (( NU8 ) 1 << (( NU )((( tyEnum_CopyFlag__pdzel23GjJ9cPFw8c5ldeRA ) 1 )) & 7U ))) != 0 ));
popSafePoint ();
}
else {
popSafePoint ();
setFrame ( _nimCurFrame );
{
TM__yu6cxgKBBXbNsTkT9cyMd4g_82 . status = 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2671 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( !! ( ignorePermissionErrors )) goto LA6_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2672 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
reraiseException ();
}
LA6_ : ;
popCurrentException ();
}
}
if ( TM__yu6cxgKBBXbNsTkT9cyMd4g_82 . status != 0 ) reraiseException ();
popFrame ();
}
N_LIB_PRIVATE N_NIMCALL ( void , nosnormalizePath )( NimStringDesc ** path ) {
2022-12-25 14:07:15 +02:00
nimfr_ ( "normalizePath" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
nimln_ ( 1494 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
unsureAsgnRef (( void ** ) ( & ( * path )), normalizePath__pureZpathnorm_127 (( * path ), 47 ));
popFrame ();
}
static N_INLINE ( void , normalizePathAux__pureZos_31 )( NimStringDesc ** path ) {
2022-12-25 14:07:15 +02:00
nimfr_ ( "normalizePathAux" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
nimln_ ( 1522 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
nosnormalizePath ( path );
popFrame ();
}
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , absolutePathInternal__pureZos_49 )( NimStringDesc * path ) {
NimStringDesc * result ;
NimStringDesc * T1_ ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "absolutePathInternal" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1459 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T1_ = NIM_NIL ;
T1_ = nosgetCurrentDir ();
2022-12-25 14:07:15 +02:00
result = absolutePath__pureZos_735 ( path , T1_ );
2022-09-19 09:55:15 +03:00
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , nosrelativePath )( NimStringDesc * path , NimStringDesc * base , NIM_CHAR sep ) {
NimStringDesc * result ;
NimStringDesc * base_2 ;
NimStringDesc * path_2 ;
NIM_BOOL a1 ;
NIM_BOOL a2 ;
tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg f ;
tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg b ;
tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ ff ;
tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ bb ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "relativePath" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{ result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 390 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! (( path ? path -> Sup . len : 0 ) == (( NI ) 0 ))) goto LA3_ ;
result = (( NimStringDesc * ) NIM_NIL );
goto BeforeRet_ ;
}
LA3_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 391 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! eqStrings ( base , (( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_40 ))) goto LA7_ ;
base_2 = (( NimStringDesc * ) NIM_NIL );
}
goto LA5_ ;
LA7_ : ;
{
base_2 = copyString ( base );
}
LA5_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 392 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
path_2 = copyString ( path );
2022-12-25 14:07:15 +02:00
nimln_ ( 393 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
normalizePathAux__pureZos_31 (( & path_2 ));
2022-12-25 14:07:15 +02:00
nimln_ ( 394 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
normalizePathAux__pureZos_31 (( & base_2 ));
2022-12-25 14:07:15 +02:00
nimln_ ( 395 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
a1 = nosisAbsolute ( path_2 );
2022-12-25 14:07:15 +02:00
nimln_ ( 396 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
a2 = nosisAbsolute ( base_2 );
2022-12-25 14:07:15 +02:00
nimln_ ( 397 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T12_ ;
T12_ = ( NIM_BOOL ) 0 ;
T12_ = a1 ;
if ( ! ( T12_ )) goto LA13_ ;
T12_ = ! ( a2 );
LA13_ : ;
if ( ! T12_ ) goto LA14_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 398 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
base_2 = absolutePathInternal__pureZos_49 ( base_2 );
}
goto LA10_ ;
LA14_ : ;
{
NIM_BOOL T17_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 399 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T17_ = ( NIM_BOOL ) 0 ;
T17_ = a2 ;
if ( ! ( T17_ )) goto LA18_ ;
T17_ = ! ( a1 );
LA18_ : ;
if ( ! T17_ ) goto LA19_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 400 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
path_2 = absolutePathInternal__pureZos_49 ( path_2 );
}
goto LA10_ ;
LA19_ : ;
LA10_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 407 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
nimZeroMem (( void * )( & f ), sizeof ( tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg ));
2022-12-25 14:07:15 +02:00
nimln_ ( 408 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
nimZeroMem (( void * )( & b ), sizeof ( tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg ));
2022-12-25 14:07:15 +02:00
nimln_ ( 409 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
ff = TM__yu6cxgKBBXbNsTkT9cyMd4g_86 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 410 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
bb = TM__yu6cxgKBBXbNsTkT9cyMd4g_86 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 411 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ((( path_2 ? path_2 -> Sup . len : 0 )) < (( NI ) 0 ) || (( path_2 ? path_2 -> Sup . len : 0 )) > (( NI ) IL64 ( 9223372036854775807 ))){ raiseRangeErrorI (( path_2 ? path_2 -> Sup . len : 0 ), (( NI ) 0 ), (( NI ) IL64 ( 9223372036854775807 ))); }
result = rawNewString ((( NI ) (( path_2 ? path_2 -> Sup . len : 0 ))));
{
2022-12-25 14:07:15 +02:00
nimln_ ( 413 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
while ( 1 ) {
NIM_BOOL T23_ ;
NI diff ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_87 ;
NIM_BOOL same ;
NI colontmp_ ;
NI colontmp__2 ;
NI colontmp__3 ;
NI colontmp__4 ;
T23_ = ( NIM_BOOL ) 0 ;
T23_ = hasNext__pureZpathnorm_6 ( f , path_2 );
if ( ! ( T23_ )) goto LA24_ ;
T23_ = hasNext__pureZpathnorm_6 ( b , base_2 );
LA24_ : ;
if ( ! T23_ ) goto LA22 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 414 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
ff = next__pureZpathnorm_10 (( & f ), path_2 );
2022-12-25 14:07:15 +02:00
nimln_ ( 415 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
bb = next__pureZpathnorm_10 (( & b ), base_2 );
2022-12-25 14:07:15 +02:00
nimln_ ( 416 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( nimSubInt ( ff . Field1 , ff . Field0 , & TM__yu6cxgKBBXbNsTkT9cyMd4g_87 )) { raiseOverflow (); };
diff = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_87 );
2022-12-25 14:07:15 +02:00
nimln_ ( 417 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_88 ;
if ( nimSubInt ( bb . Field1 , bb . Field0 , & TM__yu6cxgKBBXbNsTkT9cyMd4g_88 )) { raiseOverflow (); };
if ( !! (( diff == ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_88 )))) goto LA27_ ;
goto LA21 ;
}
LA27_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 418 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
same = NIM_TRUE ;
{
NI i ;
NI res ;
i = ( NI ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 90 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim" );
2022-09-19 09:55:15 +03:00
res = (( NI ) 0 );
{
2022-12-25 14:07:15 +02:00
nimln_ ( 91 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim" );
2022-09-19 09:55:15 +03:00
while ( 1 ) {
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_91 ;
if ( ! ( res <= diff )) goto LA31 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 419 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
i = res ;
{
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_89 ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_90 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 420 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( nimAddInt ( i , ff . Field0 , & TM__yu6cxgKBBXbNsTkT9cyMd4g_89 )) { raiseOverflow (); };
if (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_89 ) < 0 || ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_89 ) >= ( path_2 ? path_2 -> Sup . len : 0 )){ raiseIndexError2 (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_89 ),( path_2 ? path_2 -> Sup . len : 0 ) - 1 ); }
if ( nimAddInt ( i , bb . Field0 , & TM__yu6cxgKBBXbNsTkT9cyMd4g_90 )) { raiseOverflow (); };
if (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_90 ) < 0 || ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_90 ) >= ( base_2 ? base_2 -> Sup . len : 0 )){ raiseIndexError2 (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_90 ),( base_2 ? base_2 -> Sup . len : 0 ) - 1 ); }
if ( !! ((( NU8 )( path_2 -> data [( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_89 )]) == ( NU8 )( base_2 -> data [( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_90 )])))) goto LA34_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 421 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
same = NIM_FALSE ;
2022-12-25 14:07:15 +02:00
nimln_ ( 422 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
goto LA29 ;
}
LA34_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 93 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim" );
2022-09-19 09:55:15 +03:00
if ( nimAddInt ( res , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_91 )) { raiseOverflow (); };
res = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_91 );
} LA31 : ;
}
} LA29 : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 423 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( !! ( same )) goto LA38_ ;
goto LA21 ;
}
LA38_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 424 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
colontmp_ = (( NI ) 0 );
colontmp__2 = (( NI ) - 1 );
ff . Field0 = colontmp_ ;
ff . Field1 = colontmp__2 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 425 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
colontmp__3 = (( NI ) 0 );
colontmp__4 = (( NI ) - 1 );
bb . Field0 = colontmp__3 ;
bb . Field1 = colontmp__4 ;
} LA22 : ;
} LA21 : ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 433 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
while ( 1 ) {
2022-12-25 14:07:15 +02:00
nimln_ ( 434 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! ( bb . Field0 <= bb . Field1 )) goto LA44_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 435 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T48_ ;
NIM_CHAR * T50_ ;
T48_ = ( NIM_BOOL ) 0 ;
T48_ = ((( NI ) 0 ) < ( result ? result -> Sup . len : 0 ));
if ( ! ( T48_ )) goto LA49_ ;
T50_ = ( NIM_CHAR * ) 0 ;
2022-12-25 14:07:15 +02:00
T50_ = X5BX5D___system_7408 (( & result ), (( NI ) 1 ));
2022-09-19 09:55:15 +03:00
T48_ = ! ((( NU8 )(( * T50_ )) == ( NU8 )( sep )));
LA49_ : ;
if ( ! T48_ ) goto LA51_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 436 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = addChar ( result , sep );
}
LA51_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 437 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = resizeString ( result , 2 );
appendString ( result , (( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_39 ));
}
LA44_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 438 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T55_ ;
T55_ = ( NIM_BOOL ) 0 ;
T55_ = hasNext__pureZpathnorm_6 ( b , base_2 );
if ( !! ( T55_ )) goto LA56_ ;
goto LA40 ;
}
LA56_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 439 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
bb = next__pureZpathnorm_10 (( & b ), base_2 );
}
} LA40 : ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 442 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
while ( 1 ) {
2022-12-25 14:07:15 +02:00
nimln_ ( 443 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! ( ff . Field0 <= ff . Field1 )) goto LA62_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 444 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T66_ ;
NIM_CHAR * T68_ ;
T66_ = ( NIM_BOOL ) 0 ;
T66_ = ((( NI ) 0 ) < ( result ? result -> Sup . len : 0 ));
if ( ! ( T66_ )) goto LA67_ ;
T68_ = ( NIM_CHAR * ) 0 ;
2022-12-25 14:07:15 +02:00
T68_ = X5BX5D___system_7408 (( & result ), (( NI ) 1 ));
2022-09-19 09:55:15 +03:00
T66_ = ! ((( NU8 )(( * T68_ )) == ( NU8 )( sep )));
LA67_ : ;
if ( ! T66_ ) goto LA69_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 445 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = addChar ( result , sep );
}
LA69_ : ;
{
NI i_2 ;
NI colontmp__5 ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_92 ;
NI res_2 ;
i_2 = ( NI ) 0 ;
colontmp__5 = ( NI ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 446 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( nimSubInt ( ff . Field1 , ff . Field0 , & TM__yu6cxgKBBXbNsTkT9cyMd4g_92 )) { raiseOverflow (); };
colontmp__5 = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_92 );
2022-12-25 14:07:15 +02:00
nimln_ ( 90 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim" );
2022-09-19 09:55:15 +03:00
res_2 = (( NI ) 0 );
{
2022-12-25 14:07:15 +02:00
nimln_ ( 91 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim" );
2022-09-19 09:55:15 +03:00
while ( 1 ) {
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_93 ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_94 ;
if ( ! ( res_2 <= colontmp__5 )) goto LA73 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 446 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
i_2 = res_2 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 447 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( nimAddInt ( i_2 , ff . Field0 , & TM__yu6cxgKBBXbNsTkT9cyMd4g_93 )) { raiseOverflow (); };
if (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_93 ) < 0 || ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_93 ) >= ( path_2 ? path_2 -> Sup . len : 0 )){ raiseIndexError2 (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_93 ),( path_2 ? path_2 -> Sup . len : 0 ) - 1 ); }
result = addChar ( result , path_2 -> data [( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_93 )]);
2022-12-25 14:07:15 +02:00
nimln_ ( 93 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim" );
2022-09-19 09:55:15 +03:00
if ( nimAddInt ( res_2 , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_94 )) { raiseOverflow (); };
res_2 = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_94 );
} LA73 : ;
}
}
}
LA62_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 448 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T76_ ;
T76_ = ( NIM_BOOL ) 0 ;
T76_ = hasNext__pureZpathnorm_6 ( f , path_2 );
if ( !! ( T76_ )) goto LA77_ ;
goto LA58 ;
}
LA77_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 449 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
ff = next__pureZpathnorm_10 (( & f ), path_2 );
}
} LA58 : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 452 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
{
if ( ! (( result ? result -> Sup . len : 0 ) == (( NI ) 0 ))) goto LA81_ ;
result = resizeString ( result , 1 );
appendString ( result , (( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_40 ));
}
LA81_ : ;
} BeforeRet_ : ;
popFrame ();
return result ;
}
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , quoteShellCommand__pureZos_603 )( NimStringDesc ** args , NI argsLen_0 ) {
2022-09-19 09:55:15 +03:00
NimStringDesc * result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "quoteShellCommand" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1112 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = (( NimStringDesc * ) NIM_NIL );
{
NI i ;
NI colontmp_ ;
NI i_2 ;
i = ( NI ) 0 ;
colontmp_ = ( NI ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1113 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
colontmp_ = argsLen_0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 119 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim" );
2022-09-19 09:55:15 +03:00
i_2 = (( NI ) 0 );
{
2022-12-25 14:07:15 +02:00
nimln_ ( 120 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim" );
2022-09-19 09:55:15 +03:00
while ( 1 ) {
NimStringDesc * T8_ ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_96 ;
if ( ! ( i_2 < colontmp_ )) goto LA3 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1113 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
i = i_2 ;
{
2022-12-25 14:07:15 +02:00
nimln_ ( 1114 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( ! ((( NI ) 0 ) < i )) goto LA6_ ;
result = resizeString ( result , 1 );
appendString ( result , (( NimStringDesc * ) & TM__yu6cxgKBBXbNsTkT9cyMd4g_95 ));
}
LA6_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1113 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
nimln_ ( 1115 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( i < 0 || i >= argsLen_0 ){ raiseIndexError2 ( i , argsLen_0 - 1 ); }
T8_ = NIM_NIL ;
T8_ = nospquoteShell ( args [ i ]);
result = resizeString ( result , ( T8_ ? T8_ -> Sup . len : 0 ) + 0 );
appendString ( result , T8_ );
2022-12-25 14:07:15 +02:00
nimln_ ( 122 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim" );
2022-09-19 09:55:15 +03:00
if ( nimAddInt ( i_2 , (( NI ) 1 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_96 )) { raiseOverflow (); };
i_2 = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_96 );
} LA3 : ;
}
}
popFrame ();
return result ;
}
N_LIB_PRIVATE N_NIMCALL ( void , nossleep )( NI milsecs ) {
struct timespec a ;
struct timespec b ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_97 ;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_98 ;
int T1_ ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "sleep" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
nimZeroMem (( void * )( & a ), sizeof ( struct timespec ));
nimZeroMem (( void * )( & b ), sizeof ( struct timespec ));
2022-12-25 14:07:15 +02:00
nimln_ ( 3212 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
a . tv_sec = ( NI )( milsecs / (( NI ) 1000 ));
2022-12-25 14:07:15 +02:00
nimln_ ( 3213 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
if ( nimMulInt (( NI )( milsecs % (( NI ) 1000 )), (( NI ) 1000 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_97 )) { raiseOverflow (); };
if ( nimMulInt (( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_97 ), (( NI ) 1000 ), & TM__yu6cxgKBBXbNsTkT9cyMd4g_98 )) { raiseOverflow (); };
a . tv_nsec = ( NI )( TM__yu6cxgKBBXbNsTkT9cyMd4g_98 );
2022-12-25 14:07:15 +02:00
nimln_ ( 3214 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T1_ = ( int ) 0 ;
T1_ = nanosleep (( & a ), ( & b ));
( void )( T1_ );
popFrame ();
}
N_LIB_PRIVATE N_NIMCALL ( NI , nosexecShellCmd )( NimStringDesc * command ) {
NI result ;
int T1_ ;
int T2_ ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "execShellCmd" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
result = ( NI ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2074 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T1_ = ( int ) 0 ;
T1_ = system ( nimToCStringConv ( command ));
T2_ = ( int ) 0 ;
2022-12-25 14:07:15 +02:00
T2_ = exitStatusLikeShell__pureZos_1100 ( T1_ );
2022-09-19 09:55:15 +03:00
result = (( NI ) ( T2_ ));
popFrame ();
return result ;
}
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( void , atmdotdotatsdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminusathversionminus1minus6atslibatspureatsosdotnim_DatInit000 )( void ) {
2022-09-19 09:55:15 +03:00
static TNimNode * TM__yu6cxgKBBXbNsTkT9cyMd4g_83_9 [ 9 ];
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_85 ;
static char * NIM_CONST TM__yu6cxgKBBXbNsTkT9cyMd4g_84 [ 9 ] = {
"fpUserExec" ,
"fpUserWrite" ,
"fpUserRead" ,
"fpGroupExec" ,
"fpGroupWrite" ,
"fpGroupRead" ,
"fpOthersExec" ,
"fpOthersWrite" ,
"fpOthersRead" };
static TNimNode * TM__yu6cxgKBBXbNsTkT9cyMd4g_99_2 [ 2 ];
static TNimNode * TM__yu6cxgKBBXbNsTkT9cyMd4g_100_4 [ 4 ];
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_102 ;
static char * NIM_CONST TM__yu6cxgKBBXbNsTkT9cyMd4g_101 [ 4 ] = {
"pcFile" ,
"pcLinkToFile" ,
"pcDir" ,
"pcLinkToDir" };
static TNimNode TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ 18 ];
NTIfilepermission__uTVeDpjCH6aWw9c74YkAskA_ . size = sizeof ( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA );
NTIfilepermission__uTVeDpjCH6aWw9c74YkAskA_ . align = NIM_ALIGNOF ( tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA );
NTIfilepermission__uTVeDpjCH6aWw9c74YkAskA_ . kind = 14 ;
NTIfilepermission__uTVeDpjCH6aWw9c74YkAskA_ . base = 0 ;
NTIfilepermission__uTVeDpjCH6aWw9c74YkAskA_ . flags = 3 ;
for ( TM__yu6cxgKBBXbNsTkT9cyMd4g_85 = 0 ; TM__yu6cxgKBBXbNsTkT9cyMd4g_85 < 9 ; TM__yu6cxgKBBXbNsTkT9cyMd4g_85 ++ ) {
TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ TM__yu6cxgKBBXbNsTkT9cyMd4g_85 + 0 ]. kind = 1 ;
TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ TM__yu6cxgKBBXbNsTkT9cyMd4g_85 + 0 ]. offset = TM__yu6cxgKBBXbNsTkT9cyMd4g_85 ;
TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ TM__yu6cxgKBBXbNsTkT9cyMd4g_85 + 0 ]. name = TM__yu6cxgKBBXbNsTkT9cyMd4g_84 [ TM__yu6cxgKBBXbNsTkT9cyMd4g_85 ];
TM__yu6cxgKBBXbNsTkT9cyMd4g_83_9 [ TM__yu6cxgKBBXbNsTkT9cyMd4g_85 ] = & TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ TM__yu6cxgKBBXbNsTkT9cyMd4g_85 + 0 ];
}
TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ 9 ]. len = 9 ; TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ 9 ]. kind = 2 ; TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ 9 ]. sons = & TM__yu6cxgKBBXbNsTkT9cyMd4g_83_9 [ 0 ];
NTIfilepermission__uTVeDpjCH6aWw9c74YkAskA_ . node = & TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ 9 ];
NTItupleLkind58pathcomponent_path58stringT__LCURwohbLBusrL8hdCnvng_ . size = sizeof ( tyTuple__LCURwohbLBusrL8hdCnvng );
NTItupleLkind58pathcomponent_path58stringT__LCURwohbLBusrL8hdCnvng_ . align = NIM_ALIGNOF ( tyTuple__LCURwohbLBusrL8hdCnvng );
NTItupleLkind58pathcomponent_path58stringT__LCURwohbLBusrL8hdCnvng_ . kind = 18 ;
NTItupleLkind58pathcomponent_path58stringT__LCURwohbLBusrL8hdCnvng_ . base = 0 ;
TM__yu6cxgKBBXbNsTkT9cyMd4g_99_2 [ 0 ] = & TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ 11 ];
NTIpathcomponent__9c1SIU9cO1wHcl09b703A9cDrg_ . size = sizeof ( tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg );
NTIpathcomponent__9c1SIU9cO1wHcl09b703A9cDrg_ . align = NIM_ALIGNOF ( tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg );
NTIpathcomponent__9c1SIU9cO1wHcl09b703A9cDrg_ . kind = 14 ;
NTIpathcomponent__9c1SIU9cO1wHcl09b703A9cDrg_ . base = 0 ;
NTIpathcomponent__9c1SIU9cO1wHcl09b703A9cDrg_ . flags = 3 ;
for ( TM__yu6cxgKBBXbNsTkT9cyMd4g_102 = 0 ; TM__yu6cxgKBBXbNsTkT9cyMd4g_102 < 4 ; TM__yu6cxgKBBXbNsTkT9cyMd4g_102 ++ ) {
TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ TM__yu6cxgKBBXbNsTkT9cyMd4g_102 + 12 ]. kind = 1 ;
TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ TM__yu6cxgKBBXbNsTkT9cyMd4g_102 + 12 ]. offset = TM__yu6cxgKBBXbNsTkT9cyMd4g_102 ;
TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ TM__yu6cxgKBBXbNsTkT9cyMd4g_102 + 12 ]. name = TM__yu6cxgKBBXbNsTkT9cyMd4g_101 [ TM__yu6cxgKBBXbNsTkT9cyMd4g_102 ];
TM__yu6cxgKBBXbNsTkT9cyMd4g_100_4 [ TM__yu6cxgKBBXbNsTkT9cyMd4g_102 ] = & TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ TM__yu6cxgKBBXbNsTkT9cyMd4g_102 + 12 ];
}
TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ 16 ]. len = 4 ; TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ 16 ]. kind = 2 ; TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ 16 ]. sons = & TM__yu6cxgKBBXbNsTkT9cyMd4g_100_4 [ 0 ];
NTIpathcomponent__9c1SIU9cO1wHcl09b703A9cDrg_ . node = & TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ 16 ];
TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ 11 ]. kind = 1 ;
TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ 11 ]. offset = offsetof ( tyTuple__LCURwohbLBusrL8hdCnvng , Field0 );
TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ 11 ]. typ = ( & NTIpathcomponent__9c1SIU9cO1wHcl09b703A9cDrg_ );
TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ 11 ]. name = "Field0" ;
TM__yu6cxgKBBXbNsTkT9cyMd4g_99_2 [ 1 ] = & TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ 17 ];
TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ 17 ]. kind = 1 ;
TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ 17 ]. offset = offsetof ( tyTuple__LCURwohbLBusrL8hdCnvng , Field1 );
TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ 17 ]. typ = ( & NTIstring__77mFvmsOLKik79ci2hXkHEg_ );
TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ 17 ]. name = "Field1" ;
TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ 10 ]. len = 2 ; TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ 10 ]. kind = 2 ; TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ 10 ]. sons = & TM__yu6cxgKBBXbNsTkT9cyMd4g_99_2 [ 0 ];
NTItupleLkind58pathcomponent_path58stringT__LCURwohbLBusrL8hdCnvng_ . node = & TM__yu6cxgKBBXbNsTkT9cyMd4g_0 [ 10 ];
}