; diffy -c symtab.c
/n/dump/2011/0308/sys/src/cmd/pic/symtab.c:8,22 - symtab.c:8,26
YYSTYPE getvar(char *s) /* return value of variable s (usually pointer)
*/
{
struct symtab *p;
- static YYSTYPE bug;
+ static YYSTYPE bug, bugplace;
p = lookup(s);
if (p == NULL) {
- if (islower(s[0]))
+ if (islower(s[0])) {
ERROR "no such variable as %s", s WARNING;
- else
+ return(bug);
+ } else {
ERROR "no such place as %s", s WARNING;
- return(bug);
+ if(bugplace.o == NULL)
+ bugplace.o = makepos(0., 0.);
+ return(bugplace);
+ }
}
return(p->s_val);
}
- erik