diff --git a/ChangeLog b/ChangeLog index df46739e4e7973131c08dba22b620d9a551f1639..de8024bd8fd2015b3ca5e8e97d67fe6f745cd714 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,10 @@ * Version 2.5.1 released +2025-01-14 Uwe Schulzweida + + * NetCDF: Fix error in scanning coordinates attribute + 2024-12-28 Uwe Schulzweida * NetCDF4: improved calculation of output chunk size diff --git a/src/stream_cdf_i.c b/src/stream_cdf_i.c index cf4f187dfe42277967856cc6594cc929a9c64d37..7c3255c2fd9a89db4acb6fc8b23af9a418449ab9 100644 --- a/src/stream_cdf_i.c +++ b/src/stream_cdf_i.c @@ -726,14 +726,14 @@ scan_hybrid_formulaterms(int ncid, int ncfvarid, int *avarid, int *bvarid, int * char *tagname = pstring; while (!isspace((int) *pstring) && *pstring != 0) pstring++; if (*pstring == 0) lstop = true; - *pstring++ = 0; + *(pstring++) = 0; while (isspace((int) *pstring)) pstring++; if (*pstring == 0) break; char *varname = pstring; while (!isspace((int) *pstring) && *pstring != 0) pstring++; if (*pstring == 0) lstop = true; - *pstring++ = 0; + *(pstring++) = 0; int dimvarid; int status_nc = nc_inq_varid(ncid, varname, &dimvarid); @@ -1033,11 +1033,11 @@ cdf_get_cell_varid(char *attstring, int ncid) while (isspace((int) *pstring)) pstring++; char *cell_measures = pstring; while (isalnum((int) *pstring)) pstring++; - *pstring++ = 0; + *(pstring++) = 0; while (isspace((int) *pstring)) pstring++; char *cell_var = pstring; while (!isspace((int) *pstring) && *pstring != 0) pstring++; - *pstring++ = 0; + *(pstring++) = 0; /* printf("cell_measures >%s<\n", cell_measures); printf("cell_var >%s<\n", cell_var); @@ -1092,7 +1092,7 @@ read_coordinates_vars(int ncid, char *attstring, ncvar_t *ncvar, ncvar_t *ncvars while (!isspace((int) *attstring) && *attstring != 0) attstring++; if (*attstring == 0) lstop = true; if (*(attstring - 1) == ',') *(attstring - 1) = 0; - *attstring++ = 0; + *(attstring++) = 0; int dimvarid; int status = nc_inq_varid(ncid, varname, &dimvarid); @@ -1118,7 +1118,7 @@ read_coordinates_vars(int ncid, char *attstring, ncvar_t *ncvar, ncvar_t *ncvars if (k == *nchecked_vars) { - if (*nchecked_vars < max_check_vars) checked_vars[*nchecked_vars++] = strdup(varname); + if (*nchecked_vars < max_check_vars) checked_vars[(*nchecked_vars)++] = strdup(varname); Warning("%s - >%s<", nc_strerror(status), varname); } } @@ -1136,7 +1136,7 @@ read_auxiliary_vars(int ncid, char *attstring, ncvar_t *ncvar, ncvar_t *ncvars) char *varname = attstring; while (!isspace((int) *attstring) && *attstring != 0) attstring++; if (*attstring == 0) lstop = true; - *attstring++ = 0; + *(attstring++) = 0; int dimvarid; int status = nc_inq_varid(ncid, varname, &dimvarid); @@ -2117,7 +2117,7 @@ cdf_load_vals(size_t size, int ndims, int varid, ncvar_t *ncvar, double **gridva { if (CDI_Netcdf_Lazy_Grid_Load) { - *valsGet = (struct xyValGet) { + *valsGet = (struct xyValGet){ .scalefactor = ncvar->scalefactor, .addoffset = ncvar->addoffset, .start = { start[0], start[1], start[2] }, @@ -3263,12 +3263,12 @@ cdf_define_all_zaxes(stream_t *streamptr, int vlistID, ncdim_t *ncdims, int nvar if (ncvars[zvarid].xtype == NC_FLOAT) zdatatype = CDI_DATATYPE_FLT32; else if (ncvars[zvarid].xtype == NC_INT) zdatatype = CDI_DATATYPE_INT32; else if (ncvars[zvarid].xtype == NC_SHORT) zdatatype = CDI_DATATYPE_INT16; - // clang-format on - // don't change the name !!! - /* - if ((len = strlen(pname)) > 2) - if (pname[len-2] == '_' && isdigit((int) pname[len-1])) pname[len-2] = 0; - */ + // clang-format on + // don't change the name !!! + /* + if ((len = strlen(pname)) > 2) + if (pname[len-2] == '_' && isdigit((int) pname[len-1])) pname[len-2] = 0; + */ #ifndef USE_MPI if (zaxisType == ZAXIS_CHAR && ncvars[zvarid].ndims == 2) {