Fossil SCM
Minor fix to error handling in pikchr.c.
Commit
5febff257d6fce74409829906103bf87cf4b68217199547b7ca5821277bdfc30
Parent
c9bc2b4a8d3d849…
1 file changed
+5
-2
+5
-2
| --- src/pikchr.c | ||
| +++ src/pikchr.c | ||
| @@ -7458,11 +7458,14 @@ | ||
| 7458 | 7458 | }else{ |
| 7459 | 7459 | p->aCtx[p->nCtx++] = token; |
| 7460 | 7460 | pik_tokenize(p, &aParam[token.eCode], pParser, 0); |
| 7461 | 7461 | p->nCtx--; |
| 7462 | 7462 | } |
| 7463 | - }else if( token.eType==T_ID && (pMac = pik_find_macro(p,&token))!=0 ){ | |
| 7463 | + }else if( token.eType==T_ID | |
| 7464 | + && (token.n = (unsigned short)(sz & 0xffff), | |
| 7465 | + (pMac = pik_find_macro(p,&token))!=0) | |
| 7466 | + ){ | |
| 7464 | 7467 | PToken args[9]; |
| 7465 | 7468 | unsigned int j = i+sz; |
| 7466 | 7469 | if( pMac->inUse ){ |
| 7467 | 7470 | pik_error(p, &pMac->macroName, "recursive macro definition"); |
| 7468 | 7471 | break; |
| @@ -7780,6 +7783,6 @@ | ||
| 7780 | 7783 | |
| 7781 | 7784 | |
| 7782 | 7785 | #endif /* PIKCHR_TCL */ |
| 7783 | 7786 | |
| 7784 | 7787 | |
| 7785 | -#line 7810 "pikchr.c" | |
| 7788 | +#line 7813 "pikchr.c" | |
| 7786 | 7789 |
| --- src/pikchr.c | |
| +++ src/pikchr.c | |
| @@ -7458,11 +7458,14 @@ | |
| 7458 | }else{ |
| 7459 | p->aCtx[p->nCtx++] = token; |
| 7460 | pik_tokenize(p, &aParam[token.eCode], pParser, 0); |
| 7461 | p->nCtx--; |
| 7462 | } |
| 7463 | }else if( token.eType==T_ID && (pMac = pik_find_macro(p,&token))!=0 ){ |
| 7464 | PToken args[9]; |
| 7465 | unsigned int j = i+sz; |
| 7466 | if( pMac->inUse ){ |
| 7467 | pik_error(p, &pMac->macroName, "recursive macro definition"); |
| 7468 | break; |
| @@ -7780,6 +7783,6 @@ | |
| 7780 | |
| 7781 | |
| 7782 | #endif /* PIKCHR_TCL */ |
| 7783 | |
| 7784 | |
| 7785 | #line 7810 "pikchr.c" |
| 7786 |
| --- src/pikchr.c | |
| +++ src/pikchr.c | |
| @@ -7458,11 +7458,14 @@ | |
| 7458 | }else{ |
| 7459 | p->aCtx[p->nCtx++] = token; |
| 7460 | pik_tokenize(p, &aParam[token.eCode], pParser, 0); |
| 7461 | p->nCtx--; |
| 7462 | } |
| 7463 | }else if( token.eType==T_ID |
| 7464 | && (token.n = (unsigned short)(sz & 0xffff), |
| 7465 | (pMac = pik_find_macro(p,&token))!=0) |
| 7466 | ){ |
| 7467 | PToken args[9]; |
| 7468 | unsigned int j = i+sz; |
| 7469 | if( pMac->inUse ){ |
| 7470 | pik_error(p, &pMac->macroName, "recursive macro definition"); |
| 7471 | break; |
| @@ -7780,6 +7783,6 @@ | |
| 7783 | |
| 7784 | |
| 7785 | #endif /* PIKCHR_TCL */ |
| 7786 | |
| 7787 | |
| 7788 | #line 7813 "pikchr.c" |
| 7789 |