Mercurial > ~dholland > hg > tradcpp > index.cgi
comparison macro.c @ 117:c46959e2d9ef
Handle empty arguments properly when there's more than one argument.
author | David A. Holland |
---|---|
date | Tue, 11 Jun 2013 14:12:06 -0400 (2013-06-11) |
parents | 33954a07d013 |
children | c13f36775fe8 |
comparison
equal
deleted
inserted
replaced
116:f2a9679a2033 | 117:c46959e2d9ef |
---|---|
956 /* try again */ | 956 /* try again */ |
957 expand_got_rparen(es, p, buf, len); | 957 expand_got_rparen(es, p, buf, len); |
958 break; | 958 break; |
959 case ES_NOARG: | 959 case ES_NOARG: |
960 assert(es->argparens == 0); | 960 assert(es->argparens == 0); |
961 if (stringarray_num(&es->args) > 0) { | |
962 /* we are after a comma; enter an empty argument */ | |
963 expand_newarg(es, buf, 0); | |
964 } | |
961 es->state = ES_NORMAL; | 965 es->state = ES_NORMAL; |
962 expand_domacro(es, p); | 966 expand_domacro(es, p); |
963 break; | 967 break; |
964 case ES_HAVEARG: | 968 case ES_HAVEARG: |
965 if (es->argparens > 0) { | 969 if (es->argparens > 0) { |