17
17
18
18
int main (int argc, char * argv[])
19
19
{
20
- FILE* f = NULL ;
21
20
grib_handle* h = NULL ;
22
- int err = 0 ;
21
+ int err = 0 ;
23
22
24
23
Assert (argc == 2 );
25
- f = fopen (argv[1 ], " rb" );
24
+ FILE* f = fopen (argv[1 ], " rb" );
26
25
Assert (f);
27
26
28
27
while ((h = grib_handle_new_from_file (0 , f, &err)) != NULL ) {
@@ -39,6 +38,8 @@ int main(int argc, char* argv[])
39
38
int type = 0 ;
40
39
GRIB_CHECK (grib_get_native_type (h, name, &type), 0 );
41
40
Assert ( type > 0 && type < 7 );
41
+ int ktype = grib_keys_iterator_get_native_type (kiter);
42
+ Assert (type == ktype);
42
43
const char * type_name = grib_get_type_name (type);
43
44
Assert ( !STR_EQUAL (type_name, " unknown" ) );
44
45
printf (" %s = %s (%d)\n " , name, type_name, type);
@@ -48,6 +49,16 @@ int main(int argc, char* argv[])
48
49
size_t vlen = MAX_VAL_LEN;
49
50
GRIB_CHECK (grib_get_string (h, name, value, &vlen), name);
50
51
Assert ( strlen (value) > 0 );
52
+ int e = grib_keys_iterator_get_string (kiter, value, &vlen);
53
+ Assert (!e);
54
+ Assert ( STR_EQUAL (name, value) );
55
+ }
56
+ if (STR_EQUAL (name, " editionNumber" )) {
57
+ long lVal = 0 ;
58
+ size_t llen = 1 ;
59
+ int e = grib_keys_iterator_get_long (kiter, &lVal, &llen);
60
+ Assert (!e);
61
+ Assert (lVal == 1 || lVal == 2 );
51
62
}
52
63
}
53
64
0 commit comments