csources_v2/c_code/1_2/@m..@slib@sstd@sprivate@sntpath.nim.c
2022-12-16 10:54:01 +08:00

443 lines
15 KiB
C

/* Generated by Nim Compiler v1.9.0 */
#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_(x, y)
#define nimln_(x, y)
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyTuple__UV3llMMYFckfui8YMBuUZA tyTuple__UV3llMMYFckfui8YMBuUZA;
typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
struct NimStrPayload {
NI cap;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
NI len;
NimStrPayload* p;
};
struct tyTuple__UV3llMMYFckfui8YMBuUZA {
NimStringV2 Field0;
NimStringV2 Field1;
};
typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
NI a;
NI b;
};
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___stdZassertions_16)(NimStringV2* dest, NimStringV2 src);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZassertions_13)(NimStringV2* dest);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuReplaceChar)(NimStringV2 s, NIM_CHAR sub, NIM_CHAR by);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuToUpperAsciiStr)(NimStringV2 s);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuStrip)(NimStringV2 s, NIM_BOOL leading, NIM_BOOL trailing, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars);
static N_INLINE(NimStringV2, X5BX5D___pureZstrutils_1279)(NimStringV2 s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x);
N_NIMCALL(NimStringV2, mnewString)(NI len);
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s);
N_LIB_PRIVATE N_NIMCALL(void, nimPrepareStrMutationImpl__system_2301)(NimStringV2* s);
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZstrbasics_49)(NI a, NI b);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a, NimStringV2 b);
static N_INLINE(NIM_BOOL, equalMem__system_1727)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
N_LIB_PRIVATE N_NIMCALL(NI, nsuFindChar)(NimStringV2 s, NIM_CHAR sub, NI start, NI last);
static N_INLINE(NimStringV2, X5BX5D___pureZstrutils_1307)(NimStringV2 s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x);
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZenumutils_128)(NI a, NI b);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___stdZprivateZntpath_122)(tyTuple__UV3llMMYFckfui8YMBuUZA* dest, tyTuple__UV3llMMYFckfui8YMBuUZA* src);
static const struct {
NI cap; NIM_CHAR data[0+1];
} TM__zOq09cgA9b1N0AGiRzbR9aQww_2 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__zOq09cgA9b1N0AGiRzbR9aQww_3 = {0, (NimStrPayload*)&TM__zOq09cgA9b1N0AGiRzbR9aQww_2};
static const struct {
NI cap; NIM_CHAR data[7+1];
} TM__zOq09cgA9b1N0AGiRzbR9aQww_4 = { 7 | NIM_STRLIT_FLAG, "\\\\\?\\UNC" };
static const NimStringV2 TM__zOq09cgA9b1N0AGiRzbR9aQww_5 = {7, (NimStrPayload*)&TM__zOq09cgA9b1N0AGiRzbR9aQww_4};
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__zOq09cgA9b1N0AGiRzbR9aQww_6 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
extern NIM_BOOL nimInErrorMode__system_3980;
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(NIM_BOOL*, nimErrorFlag)(void) {
NIM_BOOL* result;
result = (NIM_BOOL*)0;
result = (&nimInErrorMode__system_3980);
return result;
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
nimSetMem__systemZmemory_7(p, ((int)0), size);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s) {
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = !(((*s).p == ((NimStrPayload*) NIM_NIL)));
if (!(T3_)) goto LA4_;
T3_ = ((NI)((*(*s).p).cap & ((NI)IL64(4611686018427387904))) == ((NI)IL64(4611686018427387904)));
LA4_: ;
if (!T3_) goto LA5_;
nimPrepareStrMutationImpl__system_2301(s);
}
LA5_: ;
}
static N_INLINE(NimStringV2, X5BX5D___pureZstrutils_1279)(NimStringV2 s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) {
NimStringV2 result;
NI a;
NI L;
result.len = 0; result.p = NIM_NIL;
a = x.a;
L = (NI)((NI)(x.b - a) + ((NI)1));
result = mnewString(((NI) (L)));
{
NI i;
NI i_2;
i = (NI)0;
i_2 = ((NI)0);
{
while (1) {
if (!(i_2 < L)) goto LA3 ;
i = i_2;
nimPrepareStrMutationV2((&result));
result.p->data[i] = s.p->data[(NI)(i + a)];
i_2 += ((NI)1);
} LA3: ;
}
}
return result;
}
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZstrbasics_49)(NI a, NI b) {
tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
result.a = a;
result.b = b;
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_1727)(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)(NimStringV2 a, NimStringV2 b) {
NIM_BOOL result;
NI alen;
NI blen;
{ result = (NIM_BOOL)0;
alen = a.len;
blen = b.len;
{
if (!(alen == blen)) goto LA3_;
{
if (!(alen == ((NI)0))) goto LA7_;
result = NIM_TRUE;
goto BeforeRet_;
}
LA7_: ;
result = equalMem__system_1727(((void*) ((&a.p->data[((NI)0)]))), ((void*) ((&b.p->data[((NI)0)]))), ((NI) (alen)));
goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
return result;
}
static N_INLINE(NimStringV2, X5BX5D___pureZstrutils_1307)(NimStringV2 s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) {
NimStringV2 result;
NI a;
NI L;
result.len = 0; result.p = NIM_NIL;
a = x.a;
L = (NI)((NI)((NI)(s.len - x.b) - a) + ((NI)1));
result = mnewString(((NI) (L)));
{
NI i;
NI i_2;
i = (NI)0;
i_2 = ((NI)0);
{
while (1) {
if (!(i_2 < L)) goto LA3 ;
i = i_2;
nimPrepareStrMutationV2((&result));
result.p->data[i] = s.p->data[(NI)(i + a)];
i_2 += ((NI)1);
} LA3: ;
}
}
return result;
}
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZenumutils_128)(NI a, NI b) {
tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
result.a = a;
result.b = b;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___stdZprivateZntpath_122)(tyTuple__UV3llMMYFckfui8YMBuUZA* dest, tyTuple__UV3llMMYFckfui8YMBuUZA* src) {
if ((*dest).Field0.p != (*src).Field0.p) { eqdestroy___stdZassertions_13((&(*dest).Field0));
}
(*dest).Field0.len = (*src).Field0.len; (*dest).Field0.p = (*src).Field0.p;
if ((*dest).Field1.p != (*src).Field1.p) { eqdestroy___stdZassertions_13((&(*dest).Field1));
}
(*dest).Field1.len = (*src).Field1.len; (*dest).Field1.p = (*src).Field1.p;
}
N_LIB_PRIVATE N_NIMCALL(void, splitDrive__stdZprivateZntpath_2)(NimStringV2 p, tyTuple__UV3llMMYFckfui8YMBuUZA* Result) {
NimStringV2 colontmp_;
NimStringV2 colontmp__2;
NimStringV2 normp;
NimStringV2 blitTmp;
NimStringV2 blitTmp_2;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
nimZeroMem((void*)Result, sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
colontmp_.len = 0; colontmp_.p = NIM_NIL;
colontmp__2.len = 0; colontmp__2.p = NIM_NIL;
normp.len = 0; normp.p = NIM_NIL;
colontmp_ = TM__zOq09cgA9b1N0AGiRzbR9aQww_3;
eqcopy___stdZassertions_16((&colontmp__2), p);
blitTmp = colontmp_;
colontmp_.len = 0; colontmp_.p = NIM_NIL;
(*Result).Field0 = blitTmp;
blitTmp_2 = colontmp__2;
colontmp__2.len = 0; colontmp__2.p = NIM_NIL;
(*Result).Field1 = blitTmp_2;
{
if (!(p.len < ((NI)2))) goto LA4_;
eqdestroy___stdZassertions_13((&p));
eqdestroy___stdZassertions_13((&normp));
eqdestroy___stdZassertions_13((&colontmp__2));
eqdestroy___stdZassertions_13((&colontmp_));
goto BeforeRet_;
}
LA4_: ;
normp = nsuReplaceChar(p, 47, 92);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T8_;
NIM_BOOL T9_;
NIM_BOOL T10_;
NI colontmpD_;
NimStringV2 colontmp__3;
NimStringV2 colontmp__4;
NI start;
NI index;
NI index2;
tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T36_;
tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T37_;
tyTuple__UV3llMMYFckfui8YMBuUZA T38_;
NimStringV2 blitTmp_3;
NimStringV2 blitTmp_4;
T8_ = (NIM_BOOL)0;
T9_ = (NIM_BOOL)0;
T10_ = (NIM_BOOL)0;
T10_ = (((NI)2) < p.len);
if (!(T10_)) goto LA11_;
T10_ = ((NU8)(normp.p->data[((NI)0)]) == (NU8)(92));
LA11_: ;
T9_ = T10_;
if (!(T9_)) goto LA12_;
T9_ = ((NU8)(normp.p->data[((NI)1)]) == (NU8)(92));
LA12_: ;
T8_ = T9_;
if (!(T8_)) goto LA13_;
T8_ = !(((NU8)(normp.p->data[((NI)2)]) == (NU8)(92)));
LA13_: ;
if (!T8_) goto LA14_;
colontmpD_ = (NI)0;
colontmp__3.len = 0; colontmp__3.p = NIM_NIL;
colontmp__4.len = 0; colontmp__4.p = NIM_NIL;
{
NimStringV2 colontmpD__2;
NimStringV2 colontmpD__3;
NimStringV2 colontmpD__4;
NI colontmpD__5;
NI colontmpD__6;
NI idx;
colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
colontmpD__5 = (NI)0;
colontmpD__6 = (NI)0;
idx = ((((NI)8) <= normp.len) ? ((NI)8) : normp.len);
{
tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T20_;
T20_ = dotdot___stdZstrbasics_49(((NI)0), (NI)(idx - ((NI)1)));
colontmpD__2 = X5BX5D___pureZstrutils_1279(normp, T20_);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
colontmpD__3 = nsuStrip(colontmpD__2, NIM_FALSE, NIM_TRUE, TM__zOq09cgA9b1N0AGiRzbR9aQww_6);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
colontmpD__4 = nsuToUpperAsciiStr(colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
if (!eqStrings(TM__zOq09cgA9b1N0AGiRzbR9aQww_5, colontmpD__4)) goto LA21_;
colontmpD__5 = ((NI)8);
colontmpD_ = colontmpD__5;
}
goto LA18_;
LA21_: ;
{
colontmpD__6 = ((NI)2);
colontmpD_ = colontmpD__6;
}
LA18_: ;
eqdestroy___stdZassertions_13((&colontmpD__4));
eqdestroy___stdZassertions_13((&colontmpD__3));
eqdestroy___stdZassertions_13((&colontmpD__2));
start = colontmpD_;
}
index = nsuFindChar(normp, 92, ((NI) (start)), ((NI)-1));
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
{
if (!(index == ((NI)-1))) goto LA26_;
eqdestroy___stdZassertions_13((&colontmp__4));
eqdestroy___stdZassertions_13((&colontmp__3));
eqdestroy___stdZassertions_13((&p));
eqdestroy___stdZassertions_13((&normp));
eqdestroy___stdZassertions_13((&colontmp__2));
eqdestroy___stdZassertions_13((&colontmp_));
goto BeforeRet_;
}
LA26_: ;
index2 = nsuFindChar(normp, 92, ((NI) ((NI)(index + ((NI)1)))), ((NI)-1));
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
{
if (!(index2 == (NI)(index + ((NI)1)))) goto LA30_;
eqdestroy___stdZassertions_13((&colontmp__4));
eqdestroy___stdZassertions_13((&colontmp__3));
eqdestroy___stdZassertions_13((&p));
eqdestroy___stdZassertions_13((&normp));
eqdestroy___stdZassertions_13((&colontmp__2));
eqdestroy___stdZassertions_13((&colontmp_));
goto BeforeRet_;
}
LA30_: ;
{
if (!(index2 == ((NI)-1))) goto LA34_;
index2 = p.len;
}
LA34_: ;
T36_ = dotdot___stdZstrbasics_49(((NI)0), (NI)(index2 - ((NI)1)));
colontmp__3 = X5BX5D___pureZstrutils_1279(p, T36_);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
T37_ = dotdot___stdZenumutils_128(index2, ((NI)1));
colontmp__4 = X5BX5D___pureZstrutils_1307(p, T37_);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
blitTmp_3 = colontmp__3;
colontmp__3.len = 0; colontmp__3.p = NIM_NIL;
T38_.Field0 = blitTmp_3;
blitTmp_4 = colontmp__4;
colontmp__4.len = 0; colontmp__4.p = NIM_NIL;
T38_.Field1 = blitTmp_4;
eqsink___stdZprivateZntpath_122(Result, (&T38_));
eqdestroy___stdZassertions_13((&colontmp__4));
eqdestroy___stdZassertions_13((&colontmp__3));
eqdestroy___stdZassertions_13((&p));
eqdestroy___stdZassertions_13((&normp));
eqdestroy___stdZassertions_13((&colontmp__2));
eqdestroy___stdZassertions_13((&colontmp_));
goto BeforeRet_;
{
LA16_:;
}
{
eqdestroy___stdZassertions_13((&colontmp__4));
eqdestroy___stdZassertions_13((&colontmp__3));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA14_: ;
{
NimStringV2 colontmp__5;
NimStringV2 colontmp__6;
tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T46_;
tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T47_;
tyTuple__UV3llMMYFckfui8YMBuUZA T48_;
NimStringV2 blitTmp_5;
NimStringV2 blitTmp_6;
if (!((NU8)(p.p->data[((NI)1)]) == (NU8)(58))) goto LA43_;
colontmp__5.len = 0; colontmp__5.p = NIM_NIL;
colontmp__6.len = 0; colontmp__6.p = NIM_NIL;
T46_ = dotdot___stdZstrbasics_49(((NI)0), ((NI)1));
colontmp__5 = X5BX5D___pureZstrutils_1279(p, T46_);
if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
T47_ = dotdot___stdZenumutils_128(((NI)2), ((NI)1));
colontmp__6 = X5BX5D___pureZstrutils_1307(p, T47_);
if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
blitTmp_5 = colontmp__5;
colontmp__5.len = 0; colontmp__5.p = NIM_NIL;
T48_.Field0 = blitTmp_5;
blitTmp_6 = colontmp__6;
colontmp__6.len = 0; colontmp__6.p = NIM_NIL;
T48_.Field1 = blitTmp_6;
eqsink___stdZprivateZntpath_122(Result, (&T48_));
eqdestroy___stdZassertions_13((&colontmp__6));
eqdestroy___stdZassertions_13((&colontmp__5));
eqdestroy___stdZassertions_13((&p));
eqdestroy___stdZassertions_13((&normp));
eqdestroy___stdZassertions_13((&colontmp__2));
eqdestroy___stdZassertions_13((&colontmp_));
goto BeforeRet_;
{
LA45_:;
}
{
eqdestroy___stdZassertions_13((&colontmp__6));
eqdestroy___stdZassertions_13((&colontmp__5));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA43_: ;
{
LA1_:;
}
{
eqdestroy___stdZassertions_13((&p));
eqdestroy___stdZassertions_13((&normp));
eqdestroy___stdZassertions_13((&colontmp__2));
eqdestroy___stdZassertions_13((&colontmp_));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZprivateZntpath_116)(tyTuple__UV3llMMYFckfui8YMBuUZA* dest) {
eqdestroy___stdZassertions_13((&(*dest).Field0));
eqdestroy___stdZassertions_13((&(*dest).Field1));
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___stdZprivateZntpath_119)(tyTuple__UV3llMMYFckfui8YMBuUZA* dest, tyTuple__UV3llMMYFckfui8YMBuUZA* src) {
eqcopy___stdZassertions_16((&(*dest).Field0), (*src).Field0);
eqcopy___stdZassertions_16((&(*dest).Field1), (*src).Field1);
}