aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuis Ontanon <luis.ontanon@gmail.com>2007-01-16 16:41:12 +0000
committerLuis Ontanon <luis.ontanon@gmail.com>2007-01-16 16:41:12 +0000
commitd1c6370f9b7b1cfe888d017c5d130ce6a43dbd3b (patch)
tree3b902cc844f4d011365785a400a449a2079b8c51
parent843681b79280bba7393a822db7c3c3ec0ba433d9 (diff)
It looks that their fix to my fix broke things out...
svn path=/trunk/; revision=20452
-rw-r--r--tools/lemon/lemon.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/tools/lemon/lemon.c b/tools/lemon/lemon.c
index 249c9e6981..fcefe260b4 100644
--- a/tools/lemon/lemon.c
+++ b/tools/lemon/lemon.c
@@ -3247,8 +3247,10 @@ PRIVATE void translate_code(struct lemon *lemp, struct rule *rp){
for(i=0; i<rp->nrhs; i++) used[i] = 0;
lhsused = 0;
+ if (!rp->code) rp->code = "\n";
+
append_str(0,0,0,0);
- for(cp=(rp->code?rp->code:""); *cp; cp++){
+ for(cp=rp->code; *cp; cp++){
if( safe_isalpha(*cp) && (cp==rp->code || (!safe_isalnum(cp[-1]) && cp[-1]!='_')) ){
char saved;
for(xp= &cp[1]; safe_isalnum(*xp) || *xp=='_'; xp++);