| 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 |
|
} |
| 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); |
| 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 |
|
|