ref: 4b7492d1f8764cd20caa09477539c55033004a32
parent: 46960691932d79539526745b6afff329e50179c5
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;
--
⑨