Files
csources-nimble/nimble-linux/@mnimblepkg@spackageinstaller.nim.c

527 lines
22 KiB
C

/* Generated by Nim Compiler v1.6.11 */
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.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 tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct TGenericSeq TGenericSeq;
typedef struct NimStringDesc NimStringDesc;
typedef struct tyObject_Options__LR5gStV09bAFaOqz9agkkZxQ tyObject_Options__LR5gStV09bAFaOqz9agkkZxQ;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
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_Action__Axd3qAbppa2kHdtxRGykNw tyObject_Action__Axd3qAbppa2kHdtxRGykNw;
typedef struct tySequence__kLwf9aGQcuduFr4gekUDa2w tySequence__kLwf9aGQcuduFr4gekUDa2w;
typedef struct tySequence__K2J9a59aomOCxv7VVeiHZfug tySequence__K2J9a59aomOCxv7VVeiHZfug;
typedef struct tyObject_Option__vK1KzfYf1DGLiUIpLm9cS0A tyObject_Option__vK1KzfYf1DGLiUIpLm9cS0A;
typedef struct tyObject_Config__4CDaXnHluuDhjlvHrDG8RA tyObject_Config__4CDaXnHluuDhjlvHrDG8RA;
typedef struct tyObject_Table__9cUbBDOJGZJU2domnRMqAHQ tyObject_Table__9cUbBDOJGZJU2domnRMqAHQ;
typedef struct tySequence__sQx7tKsP6HE09cszRIkxbdg tySequence__sQx7tKsP6HE09cszRIkxbdg;
typedef struct tyObject_Uri__j49bukNPrq747O1GRd4Ng9bQ tyObject_Uri__j49bukNPrq747O1GRd4Ng9bQ;
typedef struct tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q;
typedef struct tyObject_Table__861JQ0xhLIYW2jzxkMweLQ tyObject_Table__861JQ0xhLIYW2jzxkMweLQ;
typedef struct tySequence__v6NVljHM6giAeuZKHEoQNA tySequence__v6NVljHM6giAeuZKHEoQNA;
typedef struct tyTuple__gDWaEqPfhOauJWKMBm8bzg tyTuple__gDWaEqPfhOauJWKMBm8bzg;
typedef struct tyObject_VersionRangeObj__FrJQzed5Yezqp6gCbEyg0w tyObject_VersionRangeObj__FrJQzed5Yezqp6gCbEyg0w;
typedef struct tyTuple__7OnuWIzW3xYXy9bIUIvuRmA tyTuple__7OnuWIzW3xYXy9bIUIvuRmA;
typedef struct tyTuple__vQEyvUeZmB7ODgnsZ5BScQ tyTuple__vQEyvUeZmB7ODgnsZ5BScQ;
typedef struct tyObject_PackageList__00UcE13159cf20wGpsHwwMg tyObject_PackageList__00UcE13159cf20wGpsHwwMg;
typedef struct tyTuple__rLNSKSsDc19cDzAtjOZs9cSw tyTuple__rLNSKSsDc19cDzAtjOZs9cSw;
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NU16 tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA;
typedef NU8 tyEnum_DisplayType__HypVeg1P09aXzPaqyobO7xA;
typedef NU8 tyEnum_Priority__8lOyDpa4mymX3OHP5fBsAQ;
typedef NimStringDesc* tyArray__Re75IspeoxXy2oCZHwcRrA[2];
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
tyArray__0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
typedef NU8 tyEnum_ForcePrompt__djMIU0KJ4yj4ST3o49caOhA;
typedef NU8 tyEnum_ActionType__w1V3R82mpkCDejycxLFPdg;
struct tyObject_Option__vK1KzfYf1DGLiUIpLm9cS0A {
NimStringDesc* val;
NIM_BOOL has;
};
struct tyObject_Action__Axd3qAbppa2kHdtxRGykNw {
tyEnum_ActionType__w1V3R82mpkCDejycxLFPdg typ;
union{
struct {NIM_BOOL listOnly;
} _typ_2;
struct {NimStringDesc* optionalURL;
} _typ_3;
struct {tySequence__kLwf9aGQcuduFr4gekUDa2w* packages;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* passNimFlags;
tySequence__K2J9a59aomOCxv7VVeiHZfug* devActions;
NimStringDesc* path;
NIM_BOOL noRebuild;
NIM_BOOL withDependencies;
NimStringDesc* developFile;
NIM_BOOL global;
} _typ_4;
struct {tySequence__sM4lkSb7zS6F7OVMvW9cffQ* search;
} _typ_5;
struct {NimStringDesc* projName;
NimStringDesc* vcsOption;
} _typ_6;
struct {NimStringDesc* file;
NimStringDesc* backend;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* additionalArguments;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptions;
} _typ_7;
struct {tyObject_Option__vK1KzfYf1DGLiUIpLm9cS0A runFile;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileFlags;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* runFlags;
} _typ_8;
struct {NimStringDesc* command;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* arguments;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* custCompileFlags;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* custRunFlags;
} _typ_9;
struct {NimStringDesc* format;
} _typ_10;
};
};
struct tyObject_Table__9cUbBDOJGZJU2domnRMqAHQ {
tySequence__sQx7tKsP6HE09cszRIkxbdg* data;
NI counter;
};
struct tyObject_Uri__j49bukNPrq747O1GRd4Ng9bQ {
NimStringDesc* scheme;
NimStringDesc* username;
NimStringDesc* password;
NimStringDesc* hostname;
NimStringDesc* port;
NimStringDesc* path;
NimStringDesc* query;
NimStringDesc* anchor;
NIM_BOOL opaque;
NIM_BOOL isIpv6;
};
struct tyObject_Config__4CDaXnHluuDhjlvHrDG8RA {
NimStringDesc* nimbleDir;
NIM_BOOL chcp;
tyObject_Table__9cUbBDOJGZJU2domnRMqAHQ packageLists;
NIM_BOOL cloneUsingHttps;
tyObject_Uri__j49bukNPrq747O1GRd4Ng9bQ httpProxy;
};
typedef NU8 tyEnum_DumpMode__lrp4056pVLtFZp9cfnP5HtA;
struct tyObject_Options__LR5gStV09bAFaOqz9agkkZxQ {
tyEnum_ForcePrompt__djMIU0KJ4yj4ST3o49caOhA forcePrompts;
NIM_BOOL depsOnly;
NIM_BOOL uninstallRevDeps;
NIM_BOOL queryVersions;
NIM_BOOL queryInstalled;
NimStringDesc* nimbleDir;
tyEnum_Priority__8lOyDpa4mymX3OHP5fBsAQ verbosity;
tyObject_Action__Axd3qAbppa2kHdtxRGykNw action;
tyObject_Config__4CDaXnHluuDhjlvHrDG8RA config;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* nimbleData;
tyObject_Table__861JQ0xhLIYW2jzxkMweLQ* pkgInfoCache;
NIM_BOOL showHelp;
NimStringDesc* lockFileName;
NIM_BOOL showVersion;
NIM_BOOL offline;
NIM_BOOL noColor;
NIM_BOOL disableValidation;
NIM_BOOL continueTestsOnFailure;
NIM_BOOL forceFullClone;
tySequence__v6NVljHM6giAeuZKHEoQNA* unknownFlags;
tyEnum_DumpMode__lrp4056pVLtFZp9cfnP5HtA dumpMode;
NimStringDesc* startDir;
NimStringDesc* nim;
NIM_BOOL localdeps;
NIM_BOOL developLocaldeps;
NIM_BOOL disableSslCertCheck;
NIM_BOOL enableTarballs;
NimStringDesc* task;
NimStringDesc* package;
};
struct tyTuple__gDWaEqPfhOauJWKMBm8bzg {
NimStringDesc* Field0;
tyObject_VersionRangeObj__FrJQzed5Yezqp6gCbEyg0w* Field1;
};
typedef NU8 tyEnum_DevelopActionType__x2ItfH5czqSlrOttkAoYOQ;
struct tyTuple__7OnuWIzW3xYXy9bIUIvuRmA {
tyEnum_DevelopActionType__x2ItfH5czqSlrOttkAoYOQ Field0;
NimStringDesc* Field1;
};
struct tyObject_PackageList__00UcE13159cf20wGpsHwwMg {
NimStringDesc* name;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* urls;
NimStringDesc* path;
};
struct tyTuple__vQEyvUeZmB7ODgnsZ5BScQ {
NI Field0;
NimStringDesc* Field1;
tyObject_PackageList__00UcE13159cf20wGpsHwwMg Field2;
};
typedef NU8 tyEnum_CmdLineKind__XkdXq9atxjiuhkFFh0XYrSA;
struct tyTuple__rLNSKSsDc19cDzAtjOZs9cSw {
tyEnum_CmdLineKind__XkdXq9atxjiuhkFFh0XYrSA Field0;
NimStringDesc* Field1;
NimStringDesc* Field2;
};
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
TGenericSeq Sup;
NimStringDesc* data[SEQ_DECL_SIZE];
};
struct tySequence__kLwf9aGQcuduFr4gekUDa2w {
TGenericSeq Sup;
tyTuple__gDWaEqPfhOauJWKMBm8bzg data[SEQ_DECL_SIZE];
};
struct tySequence__K2J9a59aomOCxv7VVeiHZfug {
TGenericSeq Sup;
tyTuple__7OnuWIzW3xYXy9bIUIvuRmA data[SEQ_DECL_SIZE];
};
struct tySequence__sQx7tKsP6HE09cszRIkxbdg {
TGenericSeq Sup;
tyTuple__vQEyvUeZmB7ODgnsZ5BScQ data[SEQ_DECL_SIZE];
};
struct tySequence__v6NVljHM6giAeuZKHEoQNA {
TGenericSeq Sup;
tyTuple__rLNSKSsDc19cDzAtjOZs9cSw data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosrelativePath)(NimStringDesc* path, NimStringDesc* base, NIM_CHAR sep);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosparentDir)(NimStringDesc* path);
N_LIB_PRIVATE N_NIMCALL(tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA, nosgetFilePermissions)(NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(void, nossetFilePermissions)(NimStringDesc* filename, tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA permissions, NIM_BOOL followSymlinks);
N_LIB_PRIVATE N_NIMCALL(void, display__nimblepkgZcli_156)(NimStringDesc* category, NimStringDesc* msg, tyEnum_DisplayType__HypVeg1P09aXzPaqyobO7xA displayType, tyEnum_Priority__8lOyDpa4mymX3OHP5fBsAQ priority);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosfileExists)(NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
N_LIB_PRIVATE N_NIMCALL(void, nosremoveFile)(NimStringDesc* file);
N_LIB_PRIVATE N_NIMCALL(void, createSymlink__pureZos_1011)(NimStringDesc* src, NimStringDesc* dest);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosextractFilename)(NimStringDesc* path);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
static N_INLINE(void, decRef__system_5344)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_2997)(void);
static N_INLINE(void, popFrame)(void);
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__system_5342)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5293)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5299)(void* usr);
STRING_LITERAL(TM__yK9aybloZA9bb1n4SolPwsJg_2, "Creating", 8);
STRING_LITERAL(TM__yK9aybloZA9bb1n4SolPwsJg_3, "symlink: $1 -> $2", 17);
STRING_LITERAL(TM__yK9aybloZA9bb1n4SolPwsJg_4, "Symlink already exists in $1. Replacing.", 40);
STRING_LITERAL(TM__yK9aybloZA9bb1n4SolPwsJg_5, "Warning:", 8);
extern TNimType NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_;
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;
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);
}
static N_INLINE(void, nimFrame)(TFrame* s) {
{
if (!(framePtr__system_2564 == ((TFrame*) NIM_NIL))) goto LA3_;
(*s).calldepth = ((NI16) 0);
}
goto LA1_;
LA3_: ;
{
(*s).calldepth = (NI16)((*framePtr__system_2564).calldepth + ((NI16) 1));
}
LA1_: ;
(*s).prev = framePtr__system_2564;
framePtr__system_2564 = s;
{
if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
callDepthLimitReached__system_2997();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__system_2564 = (*framePtr__system_2564).prev;
}
static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
NI result;
nimfr_("-%", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
result = (NI)0;
nimln_(414, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
nimln_(418, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
popFrame();
return result;
}
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
NIM_BOOL result;
nimfr_("<%", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/comparisons.nim");
result = (NIM_BOOL)0;
nimln_(186, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/comparisons.nim");
nimln_(188, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/comparisons.nim");
result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
popFrame();
return result;
}
static N_INLINE(void, rtlAddZCT__system_5342)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
nimfr_("rtlAddZCT", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
nimln_(243, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
addZCT__system_5293((&gch__system_5246.zct), c);
popFrame();
}
static N_INLINE(void, decRef__system_5344)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
nimfr_("decRef", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
nimln_(248, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
nimln_(249, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
if (!T3_) goto LA4_;
nimln_(250, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
rtlAddZCT__system_5342(c);
}
LA4_: ;
popFrame();
}
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5299)(void* usr) {
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
NI T1_;
nimfr_("usrToCell", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
nimln_(177, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
T1_ = (NI)0;
T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
popFrame();
return result;
}
static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
nimfr_("nimGCunrefNoCycle", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
nimln_(276, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
T1_ = usrToCell__system_5299(p);
decRef__system_5344(T1_);
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, setupBinSymlink__nimblepkgZpackageinstaller_5)(NimStringDesc* symlinkDest, NimStringDesc* symlinkFilename, tyObject_Options__LR5gStV09bAFaOqz9agkkZxQ* options) {
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* result;
NimStringDesc* symlinkDestRel;
NimStringDesc* T1_;
tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA currentPerms;
tyArray__Re75IspeoxXy2oCZHwcRrA T2_;
NimStringDesc* T3_;
NimStringDesc* T9_;
NI T10_;
NimStringDesc* T11_;
nimfr_("setupBinSymlink", "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/packageinstaller.nim");
result = NIM_NIL;
nimln_(28, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/packageinstaller.nim");
result = NIM_NIL;
nimln_(30, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/packageinstaller.nim");
T1_ = NIM_NIL;
T1_ = nosparentDir(symlinkFilename);
symlinkDestRel = nosrelativePath(symlinkDest, T1_, 47);
nimln_(31, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/packageinstaller.nim");
currentPerms = nosgetFilePermissions(symlinkDest);
nimln_(32, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/packageinstaller.nim");
nossetFilePermissions(symlinkDest, (currentPerms | 1), NIM_TRUE);
nimln_(34, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/packageinstaller.nim");
nimZeroMem((void*)T2_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
T2_[0] = copyString(symlinkDest);
T2_[1] = copyString(symlinkFilename);
T3_ = NIM_NIL;
T3_ = nsuFormatOpenArray(((NimStringDesc*) &TM__yK9aybloZA9bb1n4SolPwsJg_3), T2_, 2);
display__nimblepkgZcli_156(((NimStringDesc*) &TM__yK9aybloZA9bb1n4SolPwsJg_2), T3_, ((tyEnum_DisplayType__HypVeg1P09aXzPaqyobO7xA) 4), ((tyEnum_Priority__8lOyDpa4mymX3OHP5fBsAQ) 2));
nimln_(36, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/packageinstaller.nim");
{
NIM_BOOL T6_;
NimStringDesc* msg;
T6_ = (NIM_BOOL)0;
T6_ = nosfileExists(symlinkFilename);
if (!T6_) goto LA7_;
nimln_(37, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/packageinstaller.nim");
msg = nsuFormatSingleElem(((NimStringDesc*) &TM__yK9aybloZA9bb1n4SolPwsJg_4), symlinkFilename);
nimln_(38, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/packageinstaller.nim");
display__nimblepkgZcli_156(((NimStringDesc*) &TM__yK9aybloZA9bb1n4SolPwsJg_5), msg, ((tyEnum_DisplayType__HypVeg1P09aXzPaqyobO7xA) 1), ((tyEnum_Priority__8lOyDpa4mymX3OHP5fBsAQ) 3));
nimln_(39, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/packageinstaller.nim");
nosremoveFile(symlinkFilename);
}
LA7_: ;
nimln_(41, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/packageinstaller.nim");
createSymlink__pureZos_1011(symlinkDestRel, symlinkFilename);
nimln_(42, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/packageinstaller.nim");
T9_ = NIM_NIL;
T9_ = nosextractFilename(symlinkFilename);
result = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(result), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
T10_ = result->Sup.len++;
T11_ = NIM_NIL;
T11_ = result->data[T10_]; result->data[T10_] = copyStringRC1(T9_);
if (T11_) nimGCunrefNoCycle(T11_);
popFrame();
return result;
}