diff options
Diffstat (limited to 'src/gram.y')
-rw-r--r-- | src/gram.y | 7 |
1 files changed, 3 insertions, 4 deletions
@@ -159,31 +159,30 @@ kvpair : value value : string { $$ = kvpair_string (&@1, $1); } | '{' slist '}' { $$ = kvpair_list (&@1, $2.head); } ; slist : string { - $$.head = $$.tail = slist_new ($1); + $$.head = $$.tail = slist_new_s ($1); } | slist ',' string { - struct slist *s = slist_new ($3); - $1.tail->next = s; - $1.tail = s; + struct slist *s = slist_new_s ($3); + slist_insert (&$1.tail, s); $$ = $1; } ; string : T_IDENT | T_WORD ; defn : T_DEF defid { begin_def (); } defbody { end_def (); dsegm_free_list (dsdef[$2]); |