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

Comparing ray/src/cv/mgflib/object.c (file contents):
Revision 1.1 by greg, Tue Jun 21 14:45:46 1994 UTC vs.
Revision 1.4 by greg, Wed May 10 17:46:08 1995 UTC

# Line 18 | Line 18 | char   **obj_name;                     /* name list */
18  
19   static int      obj_maxname;            /* allocated list size */
20  
21 < #define ALLOC_INC       16              /* list increment */
21 > #define ALLOC_INC       16              /* list increment ( > 1 ) */
22  
23  
24   int
# Line 35 | Line 35 | char   **av;
35          }
36          if (ac != 2)
37                  return(MG_EARGC);
38 <        if (obj_nnames >= obj_maxname) {        /* enlarge array */
38 >        if (!isname(av[1]))
39 >                return(MG_EILL);
40 >        if (obj_nnames >= obj_maxname-1) {      /* enlarge array */
41                  if (!obj_maxname)
42                          obj_name = (char **)malloc(
43                                  (obj_maxname=ALLOC_INC)*sizeof(char *));
# Line 52 | Line 54 | char   **av;
54          strcpy(obj_name[obj_nnames++], av[1]);
55          obj_name[obj_nnames] = NULL;
56          return(MG_OK);
57 + }
58 +
59 +
60 + void
61 + obj_clear()                     /* clear object stack */
62 + {
63 +        while (obj_nnames)
64 +                free((MEM_PTR)obj_name[--obj_nnames]);
65 +        if (obj_maxname) {
66 +                free((MEM_PTR)obj_name);
67 +                obj_maxname = 0;
68 +        }
69   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines