about summary refs log tree commit diff
path: root/lib/libpbm3.c
diff options
context:
space:
mode:
authorgiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2018-03-21 02:30:23 +0000
committergiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2018-03-21 02:30:23 +0000
commita2c68a408cb2b33f09f2cba891c019f84f1f9799 (patch)
treea5778b0e946c78dc3998ddd83f369746500ffa7d /lib/libpbm3.c
parent852daa1e2a73f0aa6dead496001db0f3615649b9 (diff)
downloadnetpbm-mirror-a2c68a408cb2b33f09f2cba891c019f84f1f9799.tar.gz
netpbm-mirror-a2c68a408cb2b33f09f2cba891c019f84f1f9799.tar.xz
netpbm-mirror-a2c68a408cb2b33f09f2cba891c019f84f1f9799.zip
Improve error message when writing packed PBM row fails
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@3176 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'lib/libpbm3.c')
-rw-r--r--lib/libpbm3.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/lib/libpbm3.c b/lib/libpbm3.c
index a5b1382a..0144abe2 100644
--- a/lib/libpbm3.c
+++ b/lib/libpbm3.c
@@ -55,13 +55,19 @@ pbm_writepbminit(FILE * const fileP,
 
 static void
 writePackedRawRow(FILE *                const fileP,
-                  const unsigned char * const packed_bits,
-                  int                   const cols) {
+                  const unsigned char * const packedBits,
+                  unsigned int          const cols) {
 
-    int bytesWritten;
-    bytesWritten = fwrite(packed_bits, 1, pbm_packed_bytes(cols), fileP);
-    if (bytesWritten < pbm_packed_bytes(cols))
-        pm_error("I/O error writing packed row to raw PBM file.");
+    unsigned int const packedByteCt = pbm_packed_bytes(cols);
+
+    size_t writtenByteCt;
+
+    writtenByteCt = fwrite(packedBits, 1, packedByteCt, fileP);
+    if (writtenByteCt < packedByteCt)
+        pm_error("I/O error writing packed row to raw PBM file.  "
+                 "(Attempted fwrite() of %u packed bytes; "
+                 "only %u got written)",
+                 packedByteCt, (unsigned)writtenByteCt);
 }