ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/caldefn.c
(Generate patch)

Comparing ray/src/common/caldefn.c (file contents):
Revision 1.13 by greg, Thu Aug 8 11:22:06 1991 UTC vs.
Revision 1.14 by greg, Thu Aug 8 12:12:16 1991 UTC

# Line 252 | Line 252 | int  lvl;
252      return(nambuf);             /* return qualified name */
253   toolong:
254      *cp = '\0';
255 <    wputs(nambuf);
256 <    wputs(": name too long\n");
257 <    return(NULL);
255 >    eputs(nambuf);
256 >    eputs(": name too long\n");
257 >    quit(1);
258   }
259  
260  
261 + incontext(qn)                   /* is qualified name in current context? */
262 + register char  *qn;
263 + {
264 +    while (*qn && *qn != CNTXMARK)      /* find context mark */
265 +        ;
266 +    return(!strcmp(qn, context));
267 + }
268 +
269 +
270   #ifdef  OUTCHAN
271   chanout(cs)                     /* set output channels */
272   int  (*cs)();
# Line 277 | Line 286 | int  lvl;
286      register int  i;
287      register VARDEF  *vp;
288      register EPNODE  *ep;
289 <
289 >                                /* if context is global, clear all */
290      for (i = 0; i < NHASH; i++)
291          for (vp = hashtbl[i]; vp != NULL; vp = vp->next)
292 <            if (lvl >= 2)
293 <                dremove(vp->name);
294 <            else
295 <                dclear(vp->name);
292 >            if (!context[0] || incontext(vp->name))
293 >                if (lvl >= 2)
294 >                    dremove(vp->name);
295 >                else
296 >                    dclear(vp->name);
297   #ifdef  OUTCHAN
298      if (lvl >= 1) {
299          for (ep = outchan; ep != NULL; ep = ep->sibling)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines