summaryrefslogtreecommitdiff
path: root/sys/src
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2016-05-16 05:35:22 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2016-05-16 05:35:22 +0200
commitb6b5fd6da79aff13f7ebded1ae49124743411271 (patch)
tree0661eb79376240faba57139415b0061afdf38191 /sys/src
parent31a6f6c83db8e845bc5bf2f0927685a6c2bdfdb2 (diff)
jpg: output partial image data when available (truncated files)
Diffstat (limited to 'sys/src')
-rw-r--r--sys/src/cmd/jpg/readjpg.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/src/cmd/jpg/readjpg.c b/sys/src/cmd/jpg/readjpg.c
index c6df3ecea..942b581e9 100644
--- a/sys/src/cmd/jpg/readjpg.c
+++ b/sys/src/cmd/jpg/readjpg.c
@@ -226,9 +226,9 @@ jpgerror(Header *h, char *fmt, ...)
va_start(arg, fmt);
vseprint(h->err, h->err+sizeof h->err, fmt, arg);
va_end(arg);
-
+ if(h->image != nil)
+ fprint(2, "jpg: partial image: %s\n", h->err);
werrstr("%s", h->err);
- jpgfreeall(h, 1);
longjmp(h->errlab, 1);
}
@@ -258,7 +258,7 @@ Breadjpg(Biobuf *b, int colorspace)
h->fd = b;
errstr(buf, sizeof buf); /* throw it away */
if(setjmp(h->errlab))
- r = nil;
+ r = h->image;
else
r = readslave(h, colorspace);
jpgfreeall(h, 0);