mirror of https://github.com/ecmwf/eccodes.git
Clang static analyser warnings
This commit is contained in:
parent
34c29c0e50
commit
aea5aa5fa3
|
@ -383,13 +383,9 @@ static double laplam(bif_trunc_t* bt, const double val[])
|
||||||
int i, j, k, l, isp;
|
int i, j, k, l, isp;
|
||||||
double zxmw, zymw, zwsum, zx, zy, zsum1, zsum2, zbeta1, zp;
|
double zxmw, zymw, zwsum, zx, zy, zsum1, zsum2, zbeta1, zp;
|
||||||
|
|
||||||
itab1 = (int*)malloc(sizeof(int) * kmax);
|
itab1 = (int*)calloc(kmax, sizeof(int));
|
||||||
itab2 = (int*)malloc(sizeof(int) * ((1 + bt->bif_i) * (1 + bt->bif_j)));
|
itab2 = (int*)malloc(sizeof(int) * ((1 + bt->bif_i) * (1 + bt->bif_j)));
|
||||||
|
|
||||||
for (k = 0; k < kmax; k++) {
|
|
||||||
itab1[k] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Keep record of the possible values of i**2+j**2 outside the non-packed truncation
|
* Keep record of the possible values of i**2+j**2 outside the non-packed truncation
|
||||||
*/
|
*/
|
||||||
|
@ -419,16 +415,13 @@ static double laplam(bif_trunc_t* bt, const double val[])
|
||||||
* Now, itab2 contains all possible values of i*i+j*j, and itab1 contains
|
* Now, itab2 contains all possible values of i*i+j*j, and itab1 contains
|
||||||
* the rank of all i*i+j*j
|
* the rank of all i*i+j*j
|
||||||
*/
|
*/
|
||||||
znorm = (double*)malloc(sizeof(double) * lmax);
|
znorm = (double*)calloc(lmax, sizeof(double));
|
||||||
zw = (double*)malloc(sizeof(double) * lmax);
|
zw = (double*)malloc(sizeof(double) * lmax);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Compute norms of input field, gathered by values of i**2+j**2; we have to
|
* Compute norms of input field, gathered by values of i**2+j**2; we have to
|
||||||
* go through the unpacked truncation again
|
* go through the unpacked truncation again
|
||||||
*/
|
*/
|
||||||
for (l = 0; l < lmax; l++)
|
|
||||||
znorm[l] = 0.;
|
|
||||||
|
|
||||||
isp = 0;
|
isp = 0;
|
||||||
for_ij()
|
for_ij()
|
||||||
{
|
{
|
||||||
|
@ -443,7 +436,7 @@ static double laplam(bif_trunc_t* bt, const double val[])
|
||||||
int m, ll = itab1[i * i + j * j];
|
int m, ll = itab1[i * i + j * j];
|
||||||
for (m = 0; m < 4; m++, isp++) {
|
for (m = 0; m < 4; m++, isp++) {
|
||||||
DebugAssertAccess(znorm, (long)ll, (long)lmax);
|
DebugAssertAccess(znorm, (long)ll, (long)lmax);
|
||||||
DebugAssertAccess(val, (long)isp, bt->n_vals_bif);
|
DebugAssertAccess(val, (long)isp, (long)bt->n_vals_bif);
|
||||||
if (ll < lmax && isp < bt->n_vals_bif) {
|
if (ll < lmax && isp < bt->n_vals_bif) {
|
||||||
znorm[ll] = MAX(znorm[ll], fabs(val[isp]));
|
znorm[ll] = MAX(znorm[ll], fabs(val[isp]));
|
||||||
}
|
}
|
||||||
|
@ -631,6 +624,7 @@ static bif_trunc_t* new_bif_trunc(grib_accessor* a, grib_accessor_data_g2bifouri
|
||||||
cleanup:
|
cleanup:
|
||||||
|
|
||||||
free_bif_trunc(bt, a);
|
free_bif_trunc(bt, a);
|
||||||
|
if (ret) fprintf(stderr, "ERROR: new_bif_trunc: %s\n", grib_get_error_message(ret));
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,6 @@ grib_box* grib_box_factory(grib_handle* h, grib_arguments* args)
|
||||||
grib_box_class* c = *(table[i].cclass);
|
grib_box_class* c = *(table[i].cclass);
|
||||||
grib_box* it = (grib_box*)grib_context_malloc_clear(h->context, c->size);
|
grib_box* it = (grib_box*)grib_context_malloc_clear(h->context, c->size);
|
||||||
it->cclass = c;
|
it->cclass = c;
|
||||||
ret = GRIB_SUCCESS;
|
|
||||||
ret = grib_box_init(it, h, args);
|
ret = grib_box_init(it, h, args);
|
||||||
if (ret == GRIB_SUCCESS)
|
if (ret == GRIB_SUCCESS)
|
||||||
return it;
|
return it;
|
||||||
|
|
|
@ -218,7 +218,6 @@ static void dump_values(grib_dumper* d, grib_accessor* a)
|
||||||
}
|
}
|
||||||
if (icount > cols || i == 0) {
|
if (icount > cols || i == 0) {
|
||||||
fprintf(self->dumper.out, "\n ");
|
fprintf(self->dumper.out, "\n ");
|
||||||
icount = 0;
|
|
||||||
}
|
}
|
||||||
sval = dval_to_string(c, values[i]);
|
sval = dval_to_string(c, values[i]);
|
||||||
fprintf(self->dumper.out, "rvalues[%d]=%s;", i, sval);
|
fprintf(self->dumper.out, "rvalues[%d]=%s;", i, sval);
|
||||||
|
@ -268,7 +267,7 @@ static void dump_values_attribute(grib_dumper* d, grib_accessor* a, const char*
|
||||||
{
|
{
|
||||||
grib_dumper_bufr_encode_C* self = (grib_dumper_bufr_encode_C*)d;
|
grib_dumper_bufr_encode_C* self = (grib_dumper_bufr_encode_C*)d;
|
||||||
double value = 0;
|
double value = 0;
|
||||||
size_t size = 0;
|
size_t size = 0, size2 = 0;
|
||||||
double* values = NULL;
|
double* values = NULL;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
int i, icount;
|
int i, icount;
|
||||||
|
@ -282,14 +281,16 @@ static void dump_values_attribute(grib_dumper* d, grib_accessor* a, const char*
|
||||||
|
|
||||||
grib_value_count(a, &count);
|
grib_value_count(a, &count);
|
||||||
size = count;
|
size = count;
|
||||||
|
size2 = size;
|
||||||
|
|
||||||
if (size > 1) {
|
if (size > 1) {
|
||||||
values = (double*)grib_context_malloc_clear(c, sizeof(double) * size);
|
values = (double*)grib_context_malloc_clear(c, sizeof(double) * size);
|
||||||
err = grib_unpack_double(a, values, &size);
|
err = grib_unpack_double(a, values, &size2);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
err = grib_unpack_double(a, &value, &size);
|
err = grib_unpack_double(a, &value, &size2);
|
||||||
}
|
}
|
||||||
|
Assert(size == size2);
|
||||||
|
|
||||||
self->empty = 0;
|
self->empty = 0;
|
||||||
|
|
||||||
|
@ -522,7 +523,6 @@ static void dump_long_attribute(grib_dumper* d, grib_accessor* a, const char* pr
|
||||||
}
|
}
|
||||||
if (icount > cols || i == 0) {
|
if (icount > cols || i == 0) {
|
||||||
fprintf(self->dumper.out, "\n ");
|
fprintf(self->dumper.out, "\n ");
|
||||||
icount = 0;
|
|
||||||
}
|
}
|
||||||
fprintf(self->dumper.out, "ivalues[%d]=%ld;", i, values[i]);
|
fprintf(self->dumper.out, "ivalues[%d]=%ld;", i, values[i]);
|
||||||
|
|
||||||
|
|
|
@ -200,7 +200,6 @@ static void dump_values(grib_dumper* d, grib_accessor* a)
|
||||||
}
|
}
|
||||||
if (icount > cols || i == 0) {
|
if (icount > cols || i == 0) {
|
||||||
fprintf(self->dumper.out, "\n ");
|
fprintf(self->dumper.out, "\n ");
|
||||||
icount = 0;
|
|
||||||
}
|
}
|
||||||
fprintf(self->dumper.out, "%.18e", values[i]);
|
fprintf(self->dumper.out, "%.18e", values[i]);
|
||||||
|
|
||||||
|
@ -245,7 +244,7 @@ static void dump_values_attribute(grib_dumper* d, grib_accessor* a, const char*
|
||||||
{
|
{
|
||||||
grib_dumper_bufr_encode_filter* self = (grib_dumper_bufr_encode_filter*)d;
|
grib_dumper_bufr_encode_filter* self = (grib_dumper_bufr_encode_filter*)d;
|
||||||
double value = 0;
|
double value = 0;
|
||||||
size_t size = 0;
|
size_t size = 0, size2 = 0;
|
||||||
double* values = NULL;
|
double* values = NULL;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
int i, icount;
|
int i, icount;
|
||||||
|
@ -258,14 +257,16 @@ static void dump_values_attribute(grib_dumper* d, grib_accessor* a, const char*
|
||||||
|
|
||||||
grib_value_count(a, &count);
|
grib_value_count(a, &count);
|
||||||
size = count;
|
size = count;
|
||||||
|
size2 = size;
|
||||||
|
|
||||||
if (size > 1) {
|
if (size > 1) {
|
||||||
values = (double*)grib_context_malloc_clear(c, sizeof(double) * size);
|
values = (double*)grib_context_malloc_clear(c, sizeof(double) * size);
|
||||||
err = grib_unpack_double(a, values, &size);
|
err = grib_unpack_double(a, values, &size2);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
err = grib_unpack_double(a, &value, &size);
|
err = grib_unpack_double(a, &value, &size2);
|
||||||
}
|
}
|
||||||
|
Assert(size == size2);
|
||||||
|
|
||||||
self->empty = 0;
|
self->empty = 0;
|
||||||
|
|
||||||
|
|
|
@ -315,7 +315,7 @@ static void dump_values_attribute(grib_dumper* d, grib_accessor* a, const char*
|
||||||
{
|
{
|
||||||
grib_dumper_bufr_encode_fortran* self = (grib_dumper_bufr_encode_fortran*)d;
|
grib_dumper_bufr_encode_fortran* self = (grib_dumper_bufr_encode_fortran*)d;
|
||||||
double value = 0;
|
double value = 0;
|
||||||
size_t size = 0;
|
size_t size = 0, size2 = 0;
|
||||||
double* values = NULL;
|
double* values = NULL;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
int i, icount;
|
int i, icount;
|
||||||
|
@ -329,14 +329,16 @@ static void dump_values_attribute(grib_dumper* d, grib_accessor* a, const char*
|
||||||
|
|
||||||
grib_value_count(a, &count);
|
grib_value_count(a, &count);
|
||||||
size = count;
|
size = count;
|
||||||
|
size2 = size;
|
||||||
|
|
||||||
if (size > 1) {
|
if (size > 1) {
|
||||||
values = (double*)grib_context_malloc_clear(c, sizeof(double) * size);
|
values = (double*)grib_context_malloc_clear(c, sizeof(double) * size);
|
||||||
err = grib_unpack_double(a, values, &size);
|
err = grib_unpack_double(a, values, &size2);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
err = grib_unpack_double(a, &value, &size);
|
err = grib_unpack_double(a, &value, &size2);
|
||||||
}
|
}
|
||||||
|
Assert(size == size2);
|
||||||
|
|
||||||
self->empty = 0;
|
self->empty = 0;
|
||||||
|
|
||||||
|
@ -461,7 +463,6 @@ static void dump_long(grib_dumper* d, grib_accessor* a, const char* comment)
|
||||||
}
|
}
|
||||||
if (icount > cols || i == 0) {
|
if (icount > cols || i == 0) {
|
||||||
fprintf(self->dumper.out, " &\n ");
|
fprintf(self->dumper.out, " &\n ");
|
||||||
icount = 0;
|
|
||||||
}
|
}
|
||||||
fprintf(self->dumper.out, "%ld ", values[size - 1]);
|
fprintf(self->dumper.out, "%ld ", values[size - 1]);
|
||||||
|
|
||||||
|
@ -526,7 +527,7 @@ static void dump_long_attribute(grib_dumper* d, grib_accessor* a, const char* pr
|
||||||
{
|
{
|
||||||
grib_dumper_bufr_encode_fortran* self = (grib_dumper_bufr_encode_fortran*)d;
|
grib_dumper_bufr_encode_fortran* self = (grib_dumper_bufr_encode_fortran*)d;
|
||||||
long value = 0;
|
long value = 0;
|
||||||
size_t size = 0;
|
size_t size = 0, size2 = 0;
|
||||||
long* values = NULL;
|
long* values = NULL;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
int i, icount;
|
int i, icount;
|
||||||
|
@ -540,14 +541,16 @@ static void dump_long_attribute(grib_dumper* d, grib_accessor* a, const char* pr
|
||||||
|
|
||||||
grib_value_count(a, &count);
|
grib_value_count(a, &count);
|
||||||
size = count;
|
size = count;
|
||||||
|
size2 = size;
|
||||||
|
|
||||||
if (size > 1) {
|
if (size > 1) {
|
||||||
values = (long*)grib_context_malloc_clear(a->context, sizeof(long) * size);
|
values = (long*)grib_context_malloc_clear(a->context, sizeof(long) * size);
|
||||||
err = grib_unpack_long(a, values, &size);
|
err = grib_unpack_long(a, values, &size2);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
err = grib_unpack_long(a, &value, &size);
|
err = grib_unpack_long(a, &value, &size2);
|
||||||
}
|
}
|
||||||
|
Assert(size == size2);
|
||||||
|
|
||||||
self->empty = 0;
|
self->empty = 0;
|
||||||
|
|
||||||
|
|
|
@ -269,7 +269,7 @@ static void dump_values_attribute(grib_dumper* d, grib_accessor* a, const char*
|
||||||
{
|
{
|
||||||
grib_dumper_bufr_encode_python* self = (grib_dumper_bufr_encode_python*)d;
|
grib_dumper_bufr_encode_python* self = (grib_dumper_bufr_encode_python*)d;
|
||||||
double value = 0;
|
double value = 0;
|
||||||
size_t size = 0;
|
size_t size = 0, size2 = 0;
|
||||||
double* values = NULL;
|
double* values = NULL;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
int i, icount;
|
int i, icount;
|
||||||
|
@ -283,14 +283,16 @@ static void dump_values_attribute(grib_dumper* d, grib_accessor* a, const char*
|
||||||
|
|
||||||
grib_value_count(a, &count);
|
grib_value_count(a, &count);
|
||||||
size = count;
|
size = count;
|
||||||
|
size2 = size;
|
||||||
|
|
||||||
if (size > 1) {
|
if (size > 1) {
|
||||||
values = (double*)grib_context_malloc_clear(c, sizeof(double) * size);
|
values = (double*)grib_context_malloc_clear(c, sizeof(double) * size);
|
||||||
err = grib_unpack_double(a, values, &size);
|
err = grib_unpack_double(a, values, &size2);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
err = grib_unpack_double(a, &value, &size);
|
err = grib_unpack_double(a, &value, &size2);
|
||||||
}
|
}
|
||||||
|
Assert(size == size2);
|
||||||
|
|
||||||
self->empty = 0;
|
self->empty = 0;
|
||||||
|
|
||||||
|
@ -310,7 +312,6 @@ static void dump_values_attribute(grib_dumper* d, grib_accessor* a, const char*
|
||||||
}
|
}
|
||||||
if (icount > cols || i == 0) {
|
if (icount > cols || i == 0) {
|
||||||
fprintf(self->dumper.out, "\n ");
|
fprintf(self->dumper.out, "\n ");
|
||||||
icount = 0;
|
|
||||||
}
|
}
|
||||||
sval = dval_to_string(c, values[i]);
|
sval = dval_to_string(c, values[i]);
|
||||||
fprintf(self->dumper.out, "%s", sval);
|
fprintf(self->dumper.out, "%s", sval);
|
||||||
|
@ -414,7 +415,6 @@ static void dump_long(grib_dumper* d, grib_accessor* a, const char* comment)
|
||||||
}
|
}
|
||||||
if (icount > cols || i == 0) {
|
if (icount > cols || i == 0) {
|
||||||
fprintf(self->dumper.out, "\n ");
|
fprintf(self->dumper.out, "\n ");
|
||||||
icount = 0;
|
|
||||||
}
|
}
|
||||||
fprintf(self->dumper.out, "%ld", values[i]);
|
fprintf(self->dumper.out, "%ld", values[i]);
|
||||||
|
|
||||||
|
|
|
@ -282,7 +282,6 @@ static void dump_values_attribute(grib_dumper* d, grib_accessor* a, const char*
|
||||||
}
|
}
|
||||||
if (icount > cols || i == 0) {
|
if (icount > cols || i == 0) {
|
||||||
fprintf(self->dumper.out, "\n ");
|
fprintf(self->dumper.out, "\n ");
|
||||||
icount = 0;
|
|
||||||
}
|
}
|
||||||
fprintf(self->dumper.out, "%g", values[i]);
|
fprintf(self->dumper.out, "%g", values[i]);
|
||||||
|
|
||||||
|
@ -343,6 +342,7 @@ static void dump_long(grib_dumper* d, grib_accessor* a, const char* comment)
|
||||||
DebugAssert(!err);
|
DebugAssert(!err);
|
||||||
fprintf(self->dumper.out, "%s=%ld\n", a->name, value);
|
fprintf(self->dumper.out, "%s=%ld\n", a->name, value);
|
||||||
DebugAssert(!grib_is_missing_long(a, value));
|
DebugAssert(!grib_is_missing_long(a, value));
|
||||||
|
(void)err;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -398,7 +398,6 @@ static void dump_long(grib_dumper* d, grib_accessor* a, const char* comment)
|
||||||
}
|
}
|
||||||
if (icount > cols || i == 0) {
|
if (icount > cols || i == 0) {
|
||||||
fprintf(self->dumper.out, "\n ");
|
fprintf(self->dumper.out, "\n ");
|
||||||
icount = 0;
|
|
||||||
}
|
}
|
||||||
if (doing_unexpandedDescriptors)
|
if (doing_unexpandedDescriptors)
|
||||||
fprintf(self->dumper.out, "%06ld ", values[i]);
|
fprintf(self->dumper.out, "%06ld ", values[i]);
|
||||||
|
@ -483,7 +482,6 @@ static void dump_long_attribute(grib_dumper* d, grib_accessor* a, const char* pr
|
||||||
}
|
}
|
||||||
if (icount > cols || i == 0) {
|
if (icount > cols || i == 0) {
|
||||||
fprintf(self->dumper.out, "\n ");
|
fprintf(self->dumper.out, "\n ");
|
||||||
icount = 0;
|
|
||||||
}
|
}
|
||||||
fprintf(self->dumper.out, "%ld ", values[i]);
|
fprintf(self->dumper.out, "%ld ", values[i]);
|
||||||
fprintf(self->dumper.out, "}\n");
|
fprintf(self->dumper.out, "}\n");
|
||||||
|
|
|
@ -281,7 +281,7 @@ static void dump_string(grib_dumper* d, grib_accessor* a, const char* comment)
|
||||||
char* value = NULL;
|
char* value = NULL;
|
||||||
char* p = NULL;
|
char* p = NULL;
|
||||||
|
|
||||||
err = _grib_get_string_length(a, &size);
|
_grib_get_string_length(a, &size);
|
||||||
if ((size < 2) && grib_is_missing_internal(a)) {
|
if ((size < 2) && grib_is_missing_internal(a)) {
|
||||||
/* GRIB-302: transients and missing keys. Need to re-adjust the size */
|
/* GRIB-302: transients and missing keys. Need to re-adjust the size */
|
||||||
size = 10; /* big enough to hold the string "missing" */
|
size = 10; /* big enough to hold the string "missing" */
|
||||||
|
|
|
@ -304,7 +304,7 @@ static void dump_string(grib_dumper* d, grib_accessor* a, const char* comment)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
err = _grib_get_string_length(a, &size);
|
_grib_get_string_length(a, &size);
|
||||||
value = (char*)grib_context_malloc_clear(a->context, size);
|
value = (char*)grib_context_malloc_clear(a->context, size);
|
||||||
if (!value) {
|
if (!value) {
|
||||||
grib_context_log(a->context, GRIB_LOG_FATAL, "unable to allocate %d bytes", (int)size);
|
grib_context_log(a->context, GRIB_LOG_FATAL, "unable to allocate %d bytes", (int)size);
|
||||||
|
|
|
@ -1449,7 +1449,6 @@ grib_action* grib_action_from_filter(const char* filter)
|
||||||
int grib_handle_apply_action(grib_handle* h, grib_action* a)
|
int grib_handle_apply_action(grib_handle* h, grib_action* a)
|
||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
grib_action* ao = a;
|
|
||||||
|
|
||||||
if (!a)
|
if (!a)
|
||||||
return GRIB_SUCCESS; /* TODO: return error */
|
return GRIB_SUCCESS; /* TODO: return error */
|
||||||
|
@ -1461,15 +1460,12 @@ int grib_handle_apply_action(grib_handle* h, grib_action* a)
|
||||||
a = a->next;
|
a = a->next;
|
||||||
}
|
}
|
||||||
|
|
||||||
a = ao;
|
|
||||||
|
|
||||||
return GRIB_SUCCESS;
|
return GRIB_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
int grib_handle_prepare_action(grib_handle* h, grib_action* a)
|
int grib_handle_prepare_action(grib_handle* h, grib_action* a)
|
||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
grib_action* ao = a;
|
|
||||||
|
|
||||||
if (!a)
|
if (!a)
|
||||||
return GRIB_SUCCESS; /* TODO: return error */
|
return GRIB_SUCCESS; /* TODO: return error */
|
||||||
|
@ -1481,8 +1477,6 @@ int grib_handle_prepare_action(grib_handle* h, grib_action* a)
|
||||||
a = a->next;
|
a = a->next;
|
||||||
}
|
}
|
||||||
|
|
||||||
a = ao;
|
|
||||||
|
|
||||||
return GRIB_SUCCESS;
|
return GRIB_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -210,6 +210,7 @@ int grib_accessor_print(grib_accessor* a, const char* name, int type, const char
|
||||||
else {
|
else {
|
||||||
ret = _grib_get_size(h, a, &size);
|
ret = _grib_get_size(h, a, &size);
|
||||||
}
|
}
|
||||||
|
if (ret) return ret;
|
||||||
dval = (double*)grib_context_malloc_clear(h->context, sizeof(double) * size);
|
dval = (double*)grib_context_malloc_clear(h->context, sizeof(double) * size);
|
||||||
if (name[0] == '/' || name[0] == '#') {
|
if (name[0] == '/' || name[0] == '#') {
|
||||||
replen = size;
|
replen = size;
|
||||||
|
@ -250,6 +251,7 @@ int grib_accessor_print(grib_accessor* a, const char* name, int type, const char
|
||||||
else {
|
else {
|
||||||
ret = _grib_get_size(h, a, &size);
|
ret = _grib_get_size(h, a, &size);
|
||||||
}
|
}
|
||||||
|
if (ret) return ret;
|
||||||
lval = (long*)grib_context_malloc_clear(h->context, sizeof(long) * size);
|
lval = (long*)grib_context_malloc_clear(h->context, sizeof(long) * size);
|
||||||
if (name[0] == '/' || name[0] == '#') {
|
if (name[0] == '/' || name[0] == '#') {
|
||||||
replen = size;
|
replen = size;
|
||||||
|
|
Loading…
Reference in New Issue