; 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

Reply via email to