From 59a975211c8f6399493c5a25dfde66f44af873f7 Mon Sep 17 00:00:00 2001 From: Uwe Schulzweida <uwe.schulzweida@mpimet.mpg.de> Date: Tue, 8 Nov 2022 13:42:16 +0100 Subject: [PATCH] grb_read_and_decode_record(): changed interface. --- src/grb_read.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/grb_read.c b/src/grb_read.c index ab2611a70..f28cf3c24 100644 --- a/src/grb_read.c +++ b/src/grb_read.c @@ -184,12 +184,12 @@ grb_read_raw_data(stream_t *streamptr, int recID, int memtype, void *gribbuffer, }; } -static void -grb_read_and_decode_record(stream_t *streamptr, int recID, int memtype, void *data, size_t *nmiss, bool resetFilePos) +static size_t +grb_read_and_decode_record(stream_t *streamptr, int recID, int memtype, void *data, bool resetFilePos) { DecodeArgs args = grb_read_raw_data(streamptr, recID, memtype, streamptr->record->buffer, data, resetFilePos); grb_decode_record(&args); - *nmiss = args.nmiss; + return args.nmiss; } typedef struct JobDescriptor @@ -279,7 +279,7 @@ grb_read_next_record(stream_t *streamptr, int recID, int memtype, void *data, si } // perform the work synchronously if we didn't start a job for it yet - if (!jobFound) grb_read_and_decode_record(streamptr, recID, memtype, data, nmiss, resetFilePos); + if (!jobFound) *nmiss = grb_read_and_decode_record(streamptr, recID, memtype, data, resetFilePos); } void @@ -298,7 +298,7 @@ grb_read_var_slice(stream_t *streamptr, int varID, int levelID, int memtype, voi const int isub = subtypeInqActiveIndex(streamptr->vars[varID].subtypeID); const int recID = streamptr->vars[varID].recordTable[isub].recordID[levelID]; - grb_read_and_decode_record(streamptr, recID, memtype, data, nmiss, true); + *nmiss = grb_read_and_decode_record(streamptr, recID, memtype, data, true); } void @@ -324,9 +324,7 @@ grb_read_var(stream_t *streamptr, int varID, int memtype, void *data, size_t *nm const size_t offset = levelID * gridsize; void *datap = (memtype == MEMTYPE_FLOAT) ? (void*)((float *) data + offset) : (void*)((double *) data + offset); - size_t imiss; - grb_read_and_decode_record(streamptr, recID, memtype, datap, &imiss, false); - *nmiss += imiss; + *nmiss += grb_read_and_decode_record(streamptr, recID, memtype, datap, false); } fileSetPos(fileID, currentfilepos, SEEK_SET); -- GitLab