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

Comparing ray/src/util/rad.c (file contents):
Revision 2.91 by greg, Thu Dec 18 23:26:57 2008 UTC vs.
Revision 2.92 by greg, Mon Feb 9 16:41:29 2009 UTC

# Line 1123 | Line 1123 | specview(                              /* get proper view spec from vs */
1123                  while (!isspace(*vs))           /* else skip id */
1124                          if (!*vs++)
1125                                  return(NULL);
1126 <                if (upax) {                     /* specify up vector */
1126 >                if (upax) {                     /* prepend up vector */
1127                          strcpy(cp, vup[upax+3]);
1128                          cp += strlen(cp);
1129                  }
# Line 1152 | Line 1152 | getview(                               /* get view n, or NULL if none */
1152          if (viewselect != NULL) {               /* command-line selected */
1153                  if (n)                          /* only do one */
1154                          return(NULL);
1155 +                                        
1156 +                if (isint(viewselect)) {        /* view number? */
1157 +                        n = atoi(viewselect)-1;
1158 +                        goto numview;
1159 +                }
1160                  if (viewselect[0] == '-') {     /* already specified */
1161                          if (vn != NULL) *vn = '\0';
1162                          return(viewselect);
# Line 1162 | Line 1167 | getview(                               /* get view n, or NULL if none */
1167                                  ;
1168                          *vn = '\0';
1169                  }
1165                                                /* view number? */
1166                if (isint(viewselect))
1167                        return(specview(nvalue(VIEWS, atoi(viewselect)-1)));
1170                                                  /* check list */
1171                  while ((mv = nvalue(VIEWS, n++)) != NULL)
1172                          if (matchword(viewselect, mv))
1173                                  return(specview(mv));
1174 +
1175                  return(specview(viewselect));   /* standard view? */
1176          }
1177 + numview:
1178          mv = nvalue(VIEWS, n);          /* use view n */
1179 <        if ((vn != NULL) & (mv != NULL)) {
1180 <                register char   *mv2 = mv;
1181 <                if (*mv2 != '-')
1179 >        if ((vn != NULL) & (mv != NULL))
1180 >                if (*mv != '-') {
1181 >                        register char   *mv2 = mv;
1182                          while (*mv2 && !isspace(*mv2))
1183                                  *vn++ = *mv2++;
1184 <                *vn = '\0';
1185 <        }
1184 >                        *vn = '\0';
1185 >                } else
1186 >                        sprintf(vn, "%d", n+1);
1187 >
1188          return(specview(mv));
1189   }
1190  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines