diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2016-05-16 05:35:22 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2016-05-16 05:35:22 +0200 |
commit | b6b5fd6da79aff13f7ebded1ae49124743411271 (patch) | |
tree | 0661eb79376240faba57139415b0061afdf38191 /sys/src/cmd | |
parent | 31a6f6c83db8e845bc5bf2f0927685a6c2bdfdb2 (diff) |
jpg: output partial image data when available (truncated files)
Diffstat (limited to 'sys/src/cmd')
-rw-r--r-- | sys/src/cmd/jpg/readjpg.c | 6 |
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); |