ref: 24a5720bec7a90e94ab13d3c32b27f39585a1039
parent: b0cd0020dfe482780d24faee59beb5c1bf8635d7
author: ppatience0 <ppatience0@gmail.com>
date: Thu Jul 18 21:07:15 EDT 2013
writejpg: the call to Bflush() is unnecessary; free data before exiting in case of malloc error writeppm: do not print a space after the last pixel
--- a/sys/src/cmd/jpg/writejpg.c
+++ b/sys/src/cmd/jpg/writejpg.c
@@ -823,7 +823,6 @@
writetrailer(Biobuf *fd)
{Bputs(fd, 0xffd9);
- Bflush(fd);
}
static char *
@@ -857,8 +856,10 @@
else
ndata = unloadimage(i, r, data, ndata);
if(ndata < 0) {- if((err = malloc(ERRMAX)) == nil)
+ if((err = malloc(ERRMAX)) == nil) {+ free(data);
return "WriteJPG: malloc failed";
+ }
snprint(err, ERRMAX, "WriteJPG: %r");
} else
err = encode(fd, r, data, chan, ndata, gflag, sflag);
--- a/sys/src/cmd/jpg/writeppm.c
+++ b/sys/src/cmd/jpg/writeppm.c
@@ -106,7 +106,7 @@
if(col >= MAXLINE-(2+1)){Bprint(fd, "\n");
col = 0;
- }else
+ }else if(y < r.max.y-1 || x < r.max.x-1)
col += Bprint(fd, " ");
}
if(rflag)
@@ -123,7 +123,7 @@
if(col >= MAXLINE-(4+1)){Bprint(fd, "\n");
col = 0;
- }else
+ }else if(i < ndata-1)
col += Bprint(fd, " ");
}
break;
@@ -139,7 +139,7 @@
if(col >= MAXLINE-(4+4+4+1)){Bprint(fd, "\n");
col = 0;
- }else
+ }else if(i < ndata-3)
col += Bprint(fd, " ");
}
break;
--
⑨