| 232 |
|
fillo &= ~F_BACK; |
| 233 |
|
if (doavg < 0) |
| 234 |
|
doavg = (argc-an) > 2; |
| 235 |
< |
if (expcomp != NULL) |
| 235 |
> |
if (expcomp != NULL) { |
| 236 |
|
if (expcomp[0] == '+' | expcomp[0] == '-') { |
| 237 |
|
expadj = atof(expcomp) + (expcomp[0]=='+' ? .5 : -.5); |
| 238 |
|
if (doavg | doblur) |
| 247 |
|
if (!(doavg | doblur)) |
| 248 |
|
rexpadj = pow(2.0, (double)expadj); |
| 249 |
|
} |
| 250 |
+ |
} |
| 251 |
|
/* set view */ |
| 252 |
|
if (nextview(doblur ? stdin : (FILE *)NULL) == EOF) { |
| 253 |
|
fprintf(stderr, "%s: no view on standard input!\n", |
| 375 |
|
exit(1); |
| 376 |
|
} |
| 377 |
|
if (!nvavg) { /* first view */ |
| 378 |
< |
copystruct(&avgview, &ourview); |
| 378 |
> |
avgview = ourview; |
| 379 |
|
return(nvavg++); |
| 380 |
|
} |
| 381 |
|
/* add to average view */ |
| 414 |
|
avgview.vfore *= f; |
| 415 |
|
avgview.vaft *= f; |
| 416 |
|
if (setview(&avgview) != NULL) /* in case of emergency... */ |
| 417 |
< |
copystruct(&avgview, &ourview); |
| 417 |
> |
avgview = ourview; |
| 418 |
|
pixaspect = viewaspect(&avgview) * hresolu / vresolu; |
| 419 |
|
} |
| 420 |
|
|
| 435 |
|
syserror(pfile); |
| 436 |
|
/* get header with exposure and view */ |
| 437 |
|
theirexp = 1.0; |
| 438 |
< |
copystruct(&theirview, &stdview); |
| 438 |
> |
theirview = stdview; |
| 439 |
|
gotview = 0; |
| 440 |
|
if (nvavg < 2) |
| 441 |
|
printf("%s:\n", pfile); |
| 804 |
|
xl[y-1].max = xl[y-step].max; |
| 805 |
|
} |
| 806 |
|
for (x = 2; x < step; x++) |
| 807 |
< |
copystruct(xl+y-x, xl+y-1); |
| 807 |
> |
*(xl+y-x) = *(xl+y-1); |
| 808 |
|
} |
| 809 |
|
if (yl->max >= numscans(&tresolu)) |
| 810 |
|
yl->max = numscans(&tresolu) - 1; |
| 811 |
|
y -= step; |
| 812 |
|
for (x = numscans(&tresolu) - 1; x > y; x--) /* fill bottom rows */ |
| 813 |
< |
copystruct(xl+x, xl+y); |
| 813 |
> |
*(xl+x) = *(xl+y); |
| 814 |
|
return(yl->max >= yl->min); |
| 815 |
|
} |
| 816 |
|
|