291 |
|
int lvl |
292 |
|
) |
293 |
|
{ |
294 |
< |
static char nambuf[RMAXWORD+1]; |
294 |
> |
static char nambuf[MAXCNTX+RMAXWORD+1]; |
295 |
|
char *cp = nambuf, *cpp; |
296 |
|
/* check for explicit local */ |
297 |
|
if (*nam == CNTXMARK) { |
302 |
|
return(lvl > 0 ? NULL : nam); |
303 |
|
/* copy name to static buffer */ |
304 |
|
while (*nam) { |
305 |
< |
if (cp >= nambuf+RMAXWORD) |
305 |
> |
if (cp >= nambuf+(MAXCNTX+RMAXWORD)) |
306 |
|
goto toolong; |
307 |
|
*cp++ = *nam++; |
308 |
|
} |
321 |
|
; |
322 |
|
} |
323 |
|
while (*cpp) { /* add remaining context to name */ |
324 |
< |
if (cp >= nambuf+RMAXWORD) |
324 |
> |
if (cp >= nambuf+(MAXCNTX+RMAXWORD)) |
325 |
|
goto toolong; |
326 |
|
*cp++ = *cpp++; |
327 |
|
} |