diff --git a/src/field-cache.c b/src/field-cache.c index ddb706a..d201b8b 100644 --- a/src/field-cache.c +++ b/src/field-cache.c @@ -71,6 +71,9 @@ dc_status_t dc_field_get_string(dc_field_cache_t *cache, unsigned idx, dc_field_ dc_status_t dc_field_get(dc_field_cache_t *cache, dc_field_type_t type, unsigned int flags, void* value) { + if (!value) + return DC_STATUS_INVALIDARGS; + if (!(cache->initialized & (1 << type))) return DC_STATUS_UNSUPPORTED; diff --git a/src/garmin_parser.c b/src/garmin_parser.c index 99f3b85..5f882e1 100644 --- a/src/garmin_parser.c +++ b/src/garmin_parser.c @@ -1489,9 +1489,6 @@ garmin_parser_get_field (dc_parser_t *abstract, dc_field_type_t type, unsigned i { garmin_parser_t *garmin = (garmin_parser_t *) abstract; - if (!value) - return DC_STATUS_INVALIDARGS; - return dc_field_get(&garmin->cache, type, flags, value); }