diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2015-08-16 18:20:22 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2015-08-16 18:20:22 +0200 |
commit | 2fe2ffe8135f0dc76644d650a399bd877b3ee7f7 (patch) | |
tree | 284fc69b101e16628c22bc098f57b43a53bec43e /sys/src/cmd/gs | |
parent | cf74c80e7b38a6ae521da16d4bdf84783ef320e7 (diff) |
gs: fix alignment bug in image_render_interpolate()
Diffstat (limited to 'sys/src/cmd/gs')
-rw-r--r-- | sys/src/cmd/gs/src/gxiscale.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/src/cmd/gs/src/gxiscale.c b/sys/src/cmd/gs/src/gxiscale.c index bd8d1eacb..ecf81abac 100644 --- a/sys/src/cmd/gs/src/gxiscale.c +++ b/sys/src/cmd/gs/src/gxiscale.c @@ -182,6 +182,7 @@ image_render_interpolate(gx_image_enum * penum, const byte * buffer, stream_cursor_write w; byte *out = penum->line; + if (h != 0) { /* Convert the unpacked data to concrete values in */ /* the source buffer. */ @@ -203,7 +204,7 @@ image_render_interpolate(gx_image_enum * penum, const byte * buffer, for (i = 0; i < pss->params.WidthIn; p -= c, q += c, ++i) memcpy(q, p, c); r.ptr = out - 1; - out = q; + out += round_up(pss->params.WidthIn * c, align_bitmap_mod); } } else { /* Messy case: concretize each sample. */ |