108 |
|
#else |
109 |
|
report() /* report progress */ |
110 |
|
{ |
111 |
– |
signal(SIGALRM, report); |
111 |
|
tlastrept = time((long *)0); |
112 |
|
sprintf(errmsg, "%ld rays, %4.2f%% done after %5.4f hours\n", |
113 |
|
nrays, pctdone, (tlastrept-tstart)/3600.0); |
114 |
|
eputs(errmsg); |
115 |
+ |
signal(SIGALRM, report); |
116 |
|
} |
117 |
|
#endif |
118 |
|
|
277 |
|
z = pixvalue(scanline[i], i, y); |
278 |
|
if (zline) zline[i] = z; |
279 |
|
if (sd) b = sd[0] > sd[1] ? sd[0] : sd[1]; |
280 |
< |
b = fillsample(scanline+i-xstep, zline ? zline+i-xstep : NULL, |
281 |
< |
i-xstep, y, xstep, 0, b/2); |
280 |
> |
if (i <= xstep) |
281 |
> |
b = fillsample(scanline, zline, 0, y, i, 0, b/2); |
282 |
> |
else |
283 |
> |
b = fillsample(scanline+i-xstep, |
284 |
> |
zline ? zline+i-xstep : NULL, |
285 |
> |
i-xstep, y, xstep, 0, b/2); |
286 |
|
if (sd) *sd++ = nc & 1 ? bl : b; |
287 |
|
bl = b; |
288 |
|
} |