mirror of https://github.com/YosysHQ/yosys.git
Merge pull request #4541 from YosysHQ/krys/compiler-warnings
Resolve (some) compiler warnings
This commit is contained in:
commit
0fc5812dcd
|
@ -832,7 +832,7 @@ std::string Fmt::render() const
|
||||||
}
|
}
|
||||||
} else log_abort();
|
} else log_abort();
|
||||||
if (part.justify == FmtPart::NUMERIC && part.group && part.padding == '0') {
|
if (part.justify == FmtPart::NUMERIC && part.group && part.padding == '0') {
|
||||||
int group_size = part.base == 10 ? 3 : 4;
|
size_t group_size = part.base == 10 ? 3 : 4;
|
||||||
while (prefix.size() + buf.size() < part.width) {
|
while (prefix.size() + buf.size() < part.width) {
|
||||||
if (buf.size() % (group_size + 1) == group_size)
|
if (buf.size() % (group_size + 1) == group_size)
|
||||||
buf += '_';
|
buf += '_';
|
||||||
|
|
|
@ -1228,7 +1228,7 @@ bool SatGen::importCell(RTLIL::Cell *cell, int timestep)
|
||||||
if (ff.has_srst && ff.has_ce && ff.ce_over_srst) {
|
if (ff.has_srst && ff.has_ce && ff.ce_over_srst) {
|
||||||
int srst = importDefSigSpec(ff.sig_srst, timestep-1).at(0);
|
int srst = importDefSigSpec(ff.sig_srst, timestep-1).at(0);
|
||||||
std::vector<int> rval = importDefSigSpec(ff.val_srst, timestep-1);
|
std::vector<int> rval = importDefSigSpec(ff.val_srst, timestep-1);
|
||||||
int undef_srst;
|
int undef_srst = -1;
|
||||||
std::vector<int> undef_rval;
|
std::vector<int> undef_rval;
|
||||||
if (model_undef) {
|
if (model_undef) {
|
||||||
undef_srst = importUndefSigSpec(ff.sig_srst, timestep-1).at(0);
|
undef_srst = importUndefSigSpec(ff.sig_srst, timestep-1).at(0);
|
||||||
|
@ -1242,7 +1242,7 @@ bool SatGen::importCell(RTLIL::Cell *cell, int timestep)
|
||||||
if (ff.has_ce) {
|
if (ff.has_ce) {
|
||||||
int ce = importDefSigSpec(ff.sig_ce, timestep-1).at(0);
|
int ce = importDefSigSpec(ff.sig_ce, timestep-1).at(0);
|
||||||
std::vector<int> old_q = importDefSigSpec(ff.sig_q, timestep-1);
|
std::vector<int> old_q = importDefSigSpec(ff.sig_q, timestep-1);
|
||||||
int undef_ce;
|
int undef_ce = -1;
|
||||||
std::vector<int> undef_old_q;
|
std::vector<int> undef_old_q;
|
||||||
if (model_undef) {
|
if (model_undef) {
|
||||||
undef_ce = importUndefSigSpec(ff.sig_ce, timestep-1).at(0);
|
undef_ce = importUndefSigSpec(ff.sig_ce, timestep-1).at(0);
|
||||||
|
@ -1256,7 +1256,7 @@ bool SatGen::importCell(RTLIL::Cell *cell, int timestep)
|
||||||
if (ff.has_srst && !(ff.has_ce && ff.ce_over_srst)) {
|
if (ff.has_srst && !(ff.has_ce && ff.ce_over_srst)) {
|
||||||
int srst = importDefSigSpec(ff.sig_srst, timestep-1).at(0);
|
int srst = importDefSigSpec(ff.sig_srst, timestep-1).at(0);
|
||||||
std::vector<int> rval = importDefSigSpec(ff.val_srst, timestep-1);
|
std::vector<int> rval = importDefSigSpec(ff.val_srst, timestep-1);
|
||||||
int undef_srst;
|
int undef_srst = -1;
|
||||||
std::vector<int> undef_rval;
|
std::vector<int> undef_rval;
|
||||||
if (model_undef) {
|
if (model_undef) {
|
||||||
undef_srst = importUndefSigSpec(ff.sig_srst, timestep-1).at(0);
|
undef_srst = importUndefSigSpec(ff.sig_srst, timestep-1).at(0);
|
||||||
|
|
|
@ -1907,7 +1907,8 @@ void fstWriterClose(void *ctx)
|
||||||
int zfd;
|
int zfd;
|
||||||
int fourpack_duo = 0;
|
int fourpack_duo = 0;
|
||||||
#ifndef __MINGW32__
|
#ifndef __MINGW32__
|
||||||
char *fnam = (char *)malloc(strlen(xc->filename) + 5 + 1);
|
auto fnam_size = strlen(xc->filename) + 5 + 1;
|
||||||
|
char *fnam = (char *)malloc(fnam_size);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
fixup_offs = ftello(xc->handle);
|
fixup_offs = ftello(xc->handle);
|
||||||
|
@ -1991,7 +1992,7 @@ void fstWriterClose(void *ctx)
|
||||||
fflush(xc->handle);
|
fflush(xc->handle);
|
||||||
|
|
||||||
#ifndef __MINGW32__
|
#ifndef __MINGW32__
|
||||||
sprintf(fnam, "%s.hier", xc->filename);
|
snprintf(fnam, fnam_size, "%s.hier", xc->filename);
|
||||||
unlink(fnam);
|
unlink(fnam);
|
||||||
free(fnam);
|
free(fnam);
|
||||||
#endif
|
#endif
|
||||||
|
@ -2616,7 +2617,7 @@ fstEnumHandle fstWriterCreateEnumTable(void *ctx, const char *name, uint32_t ele
|
||||||
uint32_t i;
|
uint32_t i;
|
||||||
|
|
||||||
name_len = strlen(name);
|
name_len = strlen(name);
|
||||||
elem_count_len = sprintf(elem_count_buf, "%" PRIu32, elem_count);
|
elem_count_len = snprintf(elem_count_buf, sizeof(elem_count_buf), "%" PRIu32, elem_count);
|
||||||
|
|
||||||
literal_lens = (unsigned int *)calloc(elem_count, sizeof(unsigned int));
|
literal_lens = (unsigned int *)calloc(elem_count, sizeof(unsigned int));
|
||||||
val_lens = (unsigned int *)calloc(elem_count, sizeof(unsigned int));
|
val_lens = (unsigned int *)calloc(elem_count, sizeof(unsigned int));
|
||||||
|
@ -3579,7 +3580,8 @@ static int fstReaderRecreateHierFile(struct fstReaderContext *xc)
|
||||||
|
|
||||||
if (!xc->fh) {
|
if (!xc->fh) {
|
||||||
fst_off_t offs_cache = ftello(xc->f);
|
fst_off_t offs_cache = ftello(xc->f);
|
||||||
char *fnam = (char *)malloc(strlen(xc->filename) + 6 + 16 + 32 + 1);
|
auto fnam_size = strlen(xc->filename) + 6 + 16 + 32 + 1;
|
||||||
|
char *fnam = (char *)malloc(fnam_size);
|
||||||
unsigned char *mem = (unsigned char *)malloc(FST_GZIO_LEN);
|
unsigned char *mem = (unsigned char *)malloc(FST_GZIO_LEN);
|
||||||
fst_off_t hl, uclen;
|
fst_off_t hl, uclen;
|
||||||
fst_off_t clen = 0;
|
fst_off_t clen = 0;
|
||||||
|
@ -3594,7 +3596,7 @@ static int fstReaderRecreateHierFile(struct fstReaderContext *xc)
|
||||||
htyp = xc->contains_hier_section_lz4duo ? FST_BL_HIER_LZ4DUO : FST_BL_HIER_LZ4;
|
htyp = xc->contains_hier_section_lz4duo ? FST_BL_HIER_LZ4DUO : FST_BL_HIER_LZ4;
|
||||||
}
|
}
|
||||||
|
|
||||||
sprintf(fnam, "%s.hier_%d_%p", xc->filename, getpid(), (void *)xc);
|
snprintf(fnam, fnam_size, "%s.hier_%d_%p", xc->filename, getpid(), (void *)xc);
|
||||||
fstReaderFseeko(xc, xc->f, xc->hier_pos, SEEK_SET);
|
fstReaderFseeko(xc, xc->f, xc->hier_pos, SEEK_SET);
|
||||||
uclen = fstReaderUint64(xc->f);
|
uclen = fstReaderUint64(xc->f);
|
||||||
#ifndef __MINGW32__
|
#ifndef __MINGW32__
|
||||||
|
@ -4239,9 +4241,10 @@ int fstReaderInit(struct fstReaderContext *xc)
|
||||||
if (!seclen)
|
if (!seclen)
|
||||||
return (0); /* not finished compressing, this is a failed read */
|
return (0); /* not finished compressing, this is a failed read */
|
||||||
|
|
||||||
hf = (char *)calloc(1, flen + 16 + 32 + 1);
|
size_t hf_size = flen + 16 + 32 + 1;
|
||||||
|
hf = (char *)calloc(1, hf_size);
|
||||||
|
|
||||||
sprintf(hf, "%s.upk_%d_%p", xc->filename, getpid(), (void *)xc);
|
snprintf(hf, hf_size, "%s.upk_%d_%p", xc->filename, getpid(), (void *)xc);
|
||||||
fcomp = fopen(hf, "w+b");
|
fcomp = fopen(hf, "w+b");
|
||||||
if (!fcomp) {
|
if (!fcomp) {
|
||||||
fcomp = tmpfile_open(&xc->f_nam);
|
fcomp = tmpfile_open(&xc->f_nam);
|
||||||
|
@ -4799,21 +4802,21 @@ int fstReaderIterBlocks2(void *ctx,
|
||||||
|
|
||||||
if (beg_tim) {
|
if (beg_tim) {
|
||||||
if (dumpvars_state == 1) {
|
if (dumpvars_state == 1) {
|
||||||
wx_len = sprintf(wx_buf, "$end\n");
|
wx_len = snprintf(wx_buf, 6, "$end\n");
|
||||||
fstWritex(xc, wx_buf, wx_len);
|
fstWritex(xc, wx_buf, wx_len);
|
||||||
dumpvars_state = 2;
|
dumpvars_state = 2;
|
||||||
}
|
}
|
||||||
wx_len = sprintf(wx_buf, "#%" PRIu64 "\n", beg_tim);
|
wx_len = snprintf(wx_buf, 20, "#%" PRIu64 "\n", beg_tim);
|
||||||
fstWritex(xc, wx_buf, wx_len);
|
fstWritex(xc, wx_buf, wx_len);
|
||||||
if (!dumpvars_state) {
|
if (!dumpvars_state) {
|
||||||
wx_len = sprintf(wx_buf, "$dumpvars\n");
|
wx_len = snprintf(wx_buf, 11, "$dumpvars\n");
|
||||||
fstWritex(xc, wx_buf, wx_len);
|
fstWritex(xc, wx_buf, wx_len);
|
||||||
dumpvars_state = 1;
|
dumpvars_state = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ((xc->num_blackouts) && (cur_blackout != xc->num_blackouts)) {
|
if ((xc->num_blackouts) && (cur_blackout != xc->num_blackouts)) {
|
||||||
if (beg_tim == xc->blackout_times[cur_blackout]) {
|
if (beg_tim == xc->blackout_times[cur_blackout]) {
|
||||||
wx_len = sprintf(wx_buf, "$dump%s $end\n",
|
wx_len = snprintf(wx_buf, 16, "$dump%s $end\n",
|
||||||
(xc->blackout_activity[cur_blackout++]) ? "on" : "off");
|
(xc->blackout_activity[cur_blackout++]) ? "on" : "off");
|
||||||
fstWritex(xc, wx_buf, wx_len);
|
fstWritex(xc, wx_buf, wx_len);
|
||||||
}
|
}
|
||||||
|
@ -4914,7 +4917,7 @@ int fstReaderIterBlocks2(void *ctx,
|
||||||
clone_d[j] = srcdata[7 - j];
|
clone_d[j] = srcdata[7 - j];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sprintf((char *)xc->temp_signal_value_buf, "%.16g", d);
|
snprintf((char *)xc->temp_signal_value_buf, 32, "%.16g", d);
|
||||||
value_change_callback(user_callback_data_pointer, beg_tim, idx + 1,
|
value_change_callback(user_callback_data_pointer, beg_tim, idx + 1,
|
||||||
xc->temp_signal_value_buf);
|
xc->temp_signal_value_buf);
|
||||||
}
|
}
|
||||||
|
@ -4936,7 +4939,7 @@ int fstReaderIterBlocks2(void *ctx,
|
||||||
}
|
}
|
||||||
|
|
||||||
fstVcdID(vcdid_buf, idx + 1);
|
fstVcdID(vcdid_buf, idx + 1);
|
||||||
wx_len = sprintf(wx_buf, "r%.16g %s\n", d, vcdid_buf);
|
wx_len = snprintf(wx_buf, sizeof(wx_buf), "r%.16g %s\n", d, vcdid_buf);
|
||||||
fstWritex(xc, wx_buf, wx_len);
|
fstWritex(xc, wx_buf, wx_len);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5179,21 +5182,21 @@ int fstReaderIterBlocks2(void *ctx,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dumpvars_state == 1) {
|
if (dumpvars_state == 1) {
|
||||||
wx_len = sprintf(wx_buf, "$end\n");
|
wx_len = snprintf(wx_buf, 6, "$end\n");
|
||||||
fstWritex(xc, wx_buf, wx_len);
|
fstWritex(xc, wx_buf, wx_len);
|
||||||
dumpvars_state = 2;
|
dumpvars_state = 2;
|
||||||
}
|
}
|
||||||
wx_len = sprintf(wx_buf, "#%" PRIu64 "\n", time_table[i]);
|
wx_len = snprintf(wx_buf, 20, "#%" PRIu64 "\n", time_table[i]);
|
||||||
fstWritex(xc, wx_buf, wx_len);
|
fstWritex(xc, wx_buf, wx_len);
|
||||||
if (!dumpvars_state) {
|
if (!dumpvars_state) {
|
||||||
wx_len = sprintf(wx_buf, "$dumpvars\n");
|
wx_len = snprintf(wx_buf, 11, "$dumpvars\n");
|
||||||
fstWritex(xc, wx_buf, wx_len);
|
fstWritex(xc, wx_buf, wx_len);
|
||||||
dumpvars_state = 1;
|
dumpvars_state = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((xc->num_blackouts) && (cur_blackout != xc->num_blackouts)) {
|
if ((xc->num_blackouts) && (cur_blackout != xc->num_blackouts)) {
|
||||||
if (time_table[i] == xc->blackout_times[cur_blackout]) {
|
if (time_table[i] == xc->blackout_times[cur_blackout]) {
|
||||||
wx_len = sprintf(wx_buf, "$dump%s $end\n",
|
wx_len = snprintf(wx_buf, 16, "$dump%s $end\n",
|
||||||
(xc->blackout_activity[cur_blackout++]) ? "on" : "off");
|
(xc->blackout_activity[cur_blackout++]) ? "on" : "off");
|
||||||
fstWritex(xc, wx_buf, wx_len);
|
fstWritex(xc, wx_buf, wx_len);
|
||||||
}
|
}
|
||||||
|
@ -5407,7 +5410,7 @@ int fstReaderIterBlocks2(void *ctx,
|
||||||
clone_d[j] = srcdata[7 - j];
|
clone_d[j] = srcdata[7 - j];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sprintf((char *)xc->temp_signal_value_buf, "%.16g", d);
|
snprintf((char *)xc->temp_signal_value_buf, 32, "%.16g", d);
|
||||||
value_change_callback(user_callback_data_pointer, time_table[i], idx + 1,
|
value_change_callback(user_callback_data_pointer, time_table[i], idx + 1,
|
||||||
xc->temp_signal_value_buf);
|
xc->temp_signal_value_buf);
|
||||||
}
|
}
|
||||||
|
@ -5427,7 +5430,7 @@ int fstReaderIterBlocks2(void *ctx,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
wx_len = sprintf(wx_buf, "r%.16g", d);
|
wx_len = snprintf(wx_buf, sizeof(wx_buf), "r%.16g", d);
|
||||||
fstWritex(xc, wx_buf, wx_len);
|
fstWritex(xc, wx_buf, wx_len);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5523,7 +5526,7 @@ static char *fstExtractRvatDataFromFrame(struct fstReaderContext *xc, fstHandle
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sprintf((char *)buf, "%.16g", d);
|
snprintf((char *)buf, 32, "%.16g", d);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5536,7 +5539,9 @@ char *fstReaderGetValueFromHandleAtTime(void *ctx, uint64_t tim, fstHandle facid
|
||||||
fst_off_t blkpos = 0, prev_blkpos;
|
fst_off_t blkpos = 0, prev_blkpos;
|
||||||
uint64_t beg_tim, end_tim, beg_tim2, end_tim2;
|
uint64_t beg_tim, end_tim, beg_tim2, end_tim2;
|
||||||
int sectype;
|
int sectype;
|
||||||
|
#ifdef FST_DEBUG
|
||||||
unsigned int secnum = 0;
|
unsigned int secnum = 0;
|
||||||
|
#endif
|
||||||
uint64_t seclen;
|
uint64_t seclen;
|
||||||
uint64_t tsec_uclen = 0, tsec_clen = 0;
|
uint64_t tsec_uclen = 0, tsec_clen = 0;
|
||||||
uint64_t tsec_nitems;
|
uint64_t tsec_nitems;
|
||||||
|
@ -5620,7 +5625,9 @@ char *fstReaderGetValueFromHandleAtTime(void *ctx, uint64_t tim, fstHandle facid
|
||||||
}
|
}
|
||||||
|
|
||||||
blkpos += seclen;
|
blkpos += seclen;
|
||||||
|
#ifdef FST_DEBUG
|
||||||
secnum++;
|
secnum++;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
xc->rvat_beg_tim = beg_tim;
|
xc->rvat_beg_tim = beg_tim;
|
||||||
|
@ -6041,7 +6048,7 @@ process_value:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sprintf(buf, "r%.16g", d);
|
snprintf(buf, 32, "r%.16g", d);
|
||||||
return (buf);
|
return (buf);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
--- System.cc
|
||||||
|
+++ System.cc
|
||||||
|
@@ -43,7 +43,7 @@ static inline int memReadStat(int field)
|
||||||
|
pid_t pid = getpid();
|
||||||
|
int value;
|
||||||
|
|
||||||
|
- sprintf(name, "/proc/%d/statm", pid);
|
||||||
|
+ snprintf(name, 256, "/proc/%d/statm", pid);
|
||||||
|
FILE* in = fopen(name, "rb");
|
||||||
|
if (in == NULL) return 0;
|
||||||
|
|
||||||
|
@@ -60,7 +60,7 @@ static inline int memReadPeak(void)
|
||||||
|
char name[256];
|
||||||
|
pid_t pid = getpid();
|
||||||
|
|
||||||
|
- sprintf(name, "/proc/%d/status", pid);
|
||||||
|
+ snprintf(name, 256, "/proc/%d/status", pid);
|
||||||
|
FILE* in = fopen(name, "rb");
|
||||||
|
if (in == NULL) return 0;
|
||||||
|
|
||||||
|
--- Vec.h
|
||||||
|
+++ Vec.h
|
||||||
|
@@ -100,7 +100,13 @@ void vec<T,_Size>::capacity(Size min_cap) {
|
||||||
|
Size add = max((min_cap - cap + 1) & ~1, ((cap >> 1) + 2) & ~1); // NOTE: grow by approximately 3/2
|
||||||
|
const Size size_max = std::numeric_limits<Size>::max();
|
||||||
|
if ( ((size_max <= std::numeric_limits<int>::max()) && (add > size_max - cap))
|
||||||
|
- || (((data = (T*)::realloc(data, (cap += add) * sizeof(T))) == NULL) && errno == ENOMEM) )
|
||||||
|
+ || (
|
||||||
|
+#ifdef _DEFAULT_SOURCE
|
||||||
|
+ ((data = (T*)::reallocarray(data, (cap += add), sizeof(T))) == NULL)
|
||||||
|
+#else
|
||||||
|
+ ((data = (T*)::realloc(data, (cap += add) * sizeof(T))) == NULL)
|
||||||
|
+#endif
|
||||||
|
+ && errno == ENOMEM) )
|
||||||
|
throw OutOfMemoryException();
|
||||||
|
}
|
||||||
|
|
|
@ -17,3 +17,4 @@ patch -p0 < 00_PATCH_remove_zlib.patch
|
||||||
patch -p0 < 00_PATCH_no_fpu_control.patch
|
patch -p0 < 00_PATCH_no_fpu_control.patch
|
||||||
patch -p0 < 00_PATCH_typofixes.patch
|
patch -p0 < 00_PATCH_typofixes.patch
|
||||||
patch -p0 < 00_PATCH_wasm.patch
|
patch -p0 < 00_PATCH_wasm.patch
|
||||||
|
patch -p0 < 00_PATCH_warnings.patch
|
||||||
|
|
|
@ -43,7 +43,7 @@ static inline int memReadStat(int field)
|
||||||
pid_t pid = getpid();
|
pid_t pid = getpid();
|
||||||
int value;
|
int value;
|
||||||
|
|
||||||
sprintf(name, "/proc/%d/statm", pid);
|
snprintf(name, 256, "/proc/%d/statm", pid);
|
||||||
FILE* in = fopen(name, "rb");
|
FILE* in = fopen(name, "rb");
|
||||||
if (in == NULL) return 0;
|
if (in == NULL) return 0;
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ static inline int memReadPeak(void)
|
||||||
char name[256];
|
char name[256];
|
||||||
pid_t pid = getpid();
|
pid_t pid = getpid();
|
||||||
|
|
||||||
sprintf(name, "/proc/%d/status", pid);
|
snprintf(name, 256, "/proc/%d/status", pid);
|
||||||
FILE* in = fopen(name, "rb");
|
FILE* in = fopen(name, "rb");
|
||||||
if (in == NULL) return 0;
|
if (in == NULL) return 0;
|
||||||
|
|
||||||
|
|
|
@ -100,7 +100,13 @@ void vec<T,_Size>::capacity(Size min_cap) {
|
||||||
Size add = max((min_cap - cap + 1) & ~1, ((cap >> 1) + 2) & ~1); // NOTE: grow by approximately 3/2
|
Size add = max((min_cap - cap + 1) & ~1, ((cap >> 1) + 2) & ~1); // NOTE: grow by approximately 3/2
|
||||||
const Size size_max = std::numeric_limits<Size>::max();
|
const Size size_max = std::numeric_limits<Size>::max();
|
||||||
if ( ((size_max <= std::numeric_limits<int>::max()) && (add > size_max - cap))
|
if ( ((size_max <= std::numeric_limits<int>::max()) && (add > size_max - cap))
|
||||||
|| (((data = (T*)::realloc(data, (cap += add) * sizeof(T))) == NULL) && errno == ENOMEM) )
|
|| (
|
||||||
|
#ifdef _DEFAULT_SOURCE
|
||||||
|
((data = (T*)::reallocarray(data, (cap += add), sizeof(T))) == NULL)
|
||||||
|
#else
|
||||||
|
((data = (T*)::realloc(data, (cap += add) * sizeof(T))) == NULL)
|
||||||
|
#endif
|
||||||
|
&& errno == ENOMEM) )
|
||||||
throw OutOfMemoryException();
|
throw OutOfMemoryException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1718,7 +1718,7 @@ struct AbcPass : public Pass {
|
||||||
show_tempdir = true;
|
show_tempdir = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t argidx, g_argidx;
|
size_t argidx, g_argidx = -1;
|
||||||
bool g_arg_from_cmd = false;
|
bool g_arg_from_cmd = false;
|
||||||
#if defined(__wasm)
|
#if defined(__wasm)
|
||||||
const char *pwd = ".";
|
const char *pwd = ".";
|
||||||
|
|
Loading…
Reference in New Issue