Accessors: Type safety

This commit is contained in:
shahramn 2024-02-25 15:54:02 +00:00
parent 0be6b6c580
commit 8f31b29134
1 changed files with 4 additions and 6 deletions

View File

@ -455,16 +455,14 @@ static int pack_long(grib_accessor* a, const long* v, size_t* len)
{ {
grib_context* c = a->context; grib_context* c = a->context;
if (a->cclass->pack_double && a->cclass->pack_double != &pack_double) { if (a->cclass->pack_double && a->cclass->pack_double != &pack_double) {
int i = 0, ret = 0;
double* val = (double*)grib_context_malloc(c, *len * (sizeof(double))); double* val = (double*)grib_context_malloc(c, *len * (sizeof(double)));
if (!val) { if (!val) {
grib_context_log(c, GRIB_LOG_ERROR, grib_context_log(c, GRIB_LOG_ERROR, "Unable to allocate %zu bytes", *len * (sizeof(double)));
"Unable to allocate %zu bytes", *len * (sizeof(double)));
return GRIB_OUT_OF_MEMORY; return GRIB_OUT_OF_MEMORY;
} }
for (i = 0; i < *len; i++) for (size_t i = 0; i < *len; i++)
val[i] = (long)v[i]; val[i] = v[i];
ret = grib_pack_double(a, val, len); int ret = grib_pack_double(a, val, len);
grib_context_free(c, val); grib_context_free(c, val);
return ret; return ret;
} }