350 |
|
quiterr(err) /* print message and exit */ |
351 |
|
char *err; |
352 |
|
{ |
353 |
< |
if (err != NULL) |
353 |
> |
register int es; |
354 |
> |
int cs; |
355 |
> |
|
356 |
> |
if (es = err != NULL) |
357 |
|
fprintf(stderr, "%s: %s: %s\n", progname, |
358 |
|
fname==NULL?"<stdin>":fname, err); |
359 |
< |
if (wind) { |
359 |
> |
if (parent > 0 & wind != 0) { |
360 |
|
XDestroyWindow(thedisplay, wind); |
361 |
|
XFlush(thedisplay); |
362 |
|
} |
363 |
< |
while (parent > 0 && wait(0) != -1) /* wait for any children */ |
363 |
> |
while (parent > 0 && wait(&cs) != -1) { /* wait for any children */ |
364 |
> |
if (es == 0) |
365 |
> |
es = cs>>8 & 0xff; |
366 |
|
parent--; |
367 |
< |
exit(err != NULL); |
367 |
> |
} |
368 |
> |
exit(es); |
369 |
|
} |
370 |
|
|
371 |
|
|