diff options
author | hdftest <hdftest@hdfgroup.org> | 2020-04-26 19:13:37 (GMT) |
---|---|---|
committer | hdftest <hdftest@hdfgroup.org> | 2020-04-26 19:13:37 (GMT) |
commit | 57b1f0b994bb90f5654093d90620bd7e36ebefa7 (patch) | |
tree | 3b09c2b4c7c53be66499854eaf710265c9503fe3 /hl/src/H5LTparse.y | |
parent | 507d8f3cdf04ddad0fb7cdb92de033fa70d07f47 (diff) | |
parent | 7015ea5ec07e5bec11c6fed75dbe34d48428cf2b (diff) | |
download | hdf5-57b1f0b994bb90f5654093d90620bd7e36ebefa7.zip hdf5-57b1f0b994bb90f5654093d90620bd7e36ebefa7.tar.gz hdf5-57b1f0b994bb90f5654093d90620bd7e36ebefa7.tar.bz2 |
Merge branch 'hdf5_1_8' of ssh://bitbucket.hdfgroup.org:7999/~hdftest/hdf5_hft into hdf5_1_8
Diffstat (limited to 'hl/src/H5LTparse.y')
-rw-r--r-- | hl/src/H5LTparse.y | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/hl/src/H5LTparse.y b/hl/src/H5LTparse.y index 0022174..66a8556 100644 --- a/hl/src/H5LTparse.y +++ b/hl/src/H5LTparse.y @@ -11,6 +11,12 @@ * help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ +/* NOTE! + * + * If you make any changes to H5LTparse.y, please run bin/genparser to + * recreate the output files. + */ + %{ #include <stdio.h> #include <string.h> @@ -188,7 +194,10 @@ memb_def : ddl_type { cmpd_stack[csindex].is_field = 1; /*notify le H5Tinsert(dtype_id, $<sval>4, $<ival>6, $<hid>1); } } - + if($<sval>4) { + free($<sval>4); + $<sval>4 = NULL; + } cmpd_stack[csindex].is_field = 0; H5Tclose($<hid>1); @@ -197,7 +206,9 @@ memb_def : ddl_type { cmpd_stack[csindex].is_field = 1; /*notify le ; field_name : STRING { - $<sval>$ = yylval.sval; + $<sval>$ = strdup(yylval.sval); + free(yylval.sval); + yylval.sval = NULL; } ; field_offset : /*empty*/ @@ -245,6 +256,8 @@ opaque_type : H5T_OPAQUE_TOKEN OPQ_TAG_TOKEN { is_opq_tag = 1; } '"' opaque_tag '"' ';' { H5Tset_tag($<hid>7, yylval.sval); + free(yylval.sval); + yylval.sval = NULL; is_opq_tag = 0; } '}' { $<hid>$ = $<hid>7; } @@ -333,6 +346,8 @@ enum_def : '"' enum_symbol '"' { #else /* H5_HAVE_WIN32_API */ enum_memb_symbol = strdup(yylval.sval); #endif /* H5_HAVE_WIN32_API */ + free(yylval.sval); + yylval.sval = NULL; } enum_val ';' { |