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 |
|
|