| 120 |
|
case 'n': case 'N': case 'f': case 'F': \ |
| 121 |
|
case '-': case '0': var = 0; break; \ |
| 122 |
|
default: goto badopt; } |
| 123 |
– |
extern char *getenv(); |
| 123 |
|
char *err; |
| 124 |
|
char *recover = NULL; |
| 125 |
|
char *outfile = NULL; |
| 144 |
|
initurand(2048); |
| 145 |
|
/* option city */ |
| 146 |
|
for (i = 1; i < argc; i++) { |
| 147 |
< |
if (argv[i][0] == '+' || argv[i][0] == '$') { |
| 148 |
< |
/* options from file/environ */ |
| 149 |
< |
if (getopts(&argc, &argv, i) < 0) |
| 150 |
< |
goto badopt; |
| 151 |
< |
i--; |
| 152 |
< |
continue; |
| 153 |
< |
} else if (argv[i][0] != '-') |
| 147 |
> |
/* expand arguments */ |
| 148 |
> |
while (rval = expandarg(&argc, &argv, i)) |
| 149 |
> |
if (rval < 0) { |
| 150 |
> |
sprintf(errmsg, "cannot expand '%s'", argv[i]); |
| 151 |
> |
error(SYSTEM, errmsg); |
| 152 |
> |
} |
| 153 |
> |
if (argv[i][0] != '-') |
| 154 |
|
break; /* break from options */ |
| 155 |
|
if (!strcmp(argv[i], "-version")) { |
| 156 |
|
puts(VersionID); |
| 363 |
|
amblp = amblist; |
| 364 |
|
} |
| 365 |
|
if (argv[i][2] == 'I') { /* file */ |
| 366 |
< |
rval = wordfile(amblp, argv[++i]); |
| 366 |
> |
rval = wordfile(amblp, |
| 367 |
> |
getpath(argv[++i],libpath,R_OK)); |
| 368 |
|
if (rval < 0) { |
| 369 |
|
sprintf(errmsg, |
| 370 |
|
"cannot open ambient include file \"%s\"", |
| 383 |
|
amblp = amblist; |
| 384 |
|
} |
| 385 |
|
if (argv[i][2] == 'E') { /* file */ |
| 386 |
< |
rval = wordfile(amblp, argv[++i]); |
| 386 |
> |
rval = wordfile(amblp, |
| 387 |
> |
getpath(argv[++i],libpath,R_OK)); |
| 388 |
|
if (rval < 0) { |
| 389 |
|
sprintf(errmsg, |
| 390 |
|
"cannot open ambient exclude file \"%s\"", |