about summary refs log tree commit diff
path: root/editor/pamcut.c
diff options
context:
space:
mode:
authorgiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2008-08-13 15:36:18 +0000
committergiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2008-08-13 15:36:18 +0000
commitfbedc8c762da4ad527b4bd695473606b4b38d412 (patch)
treef180cae889cd8390687b7695b7b1225c061e6f92 /editor/pamcut.c
parent1f0f4a30e3b27653821ffa4347694619320dce6a (diff)
downloadnetpbm-mirror-fbedc8c762da4ad527b4bd695473606b4b38d412.tar.gz
netpbm-mirror-fbedc8c762da4ad527b4bd695473606b4b38d412.tar.xz
netpbm-mirror-fbedc8c762da4ad527b4bd695473606b4b38d412.zip
Release 10.35.49
git-svn-id: http://svn.code.sf.net/p/netpbm/code/stable@705 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'editor/pamcut.c')
-rw-r--r--editor/pamcut.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/editor/pamcut.c b/editor/pamcut.c
index d5de45fb..7d95fa0a 100644
--- a/editor/pamcut.c
+++ b/editor/pamcut.c
@@ -426,12 +426,12 @@ createRowCutter(struct pam *        const inpamP,
     MALLOCARRAY_NOFAIL(outputPointers, outpamP->width);
 
     /* Put in left padding */
-    for (col = leftcol; col < 0; ++col)
+    for (col = leftcol; col < 0 && col-leftcol < outpamP->width; ++col)
         outputPointers[col-leftcol] = blackTuple;
- 
+
     /* Put in extracted columns */
-    for (col = MAX(leftcol, 0); 
-         col <= MIN(rightcol, inpamP->width-1); 
+    for (col = MAX(leftcol, 0);
+         col <= MIN(rightcol, inpamP->width-1);
          ++col) {
         int const outcol = col - leftcol;
 
@@ -439,15 +439,18 @@ createRowCutter(struct pam *        const inpamP,
     }
 
     /* Put in right padding */
-    for (col = MIN(rightcol, inpamP->width-1) + 1; col <= rightcol; ++col)
-        outputPointers[col-leftcol] = blackTuple;
-    
+    for (col = MIN(rightcol, inpamP->width-1) + 1; col <= rightcol; ++col) {
+        if (col - leftcol >= 0) {
+            outputPointers[col-leftcol] = blackTuple;
+        }
+    }
+
     /* Direct input pixels that are getting cut off to the discard tuple */
 
-    for (col = 0; col < leftcol; ++col)
+    for (col = 0; col < MIN(leftcol, inpamP->width); ++col)
         inputPointers[col] = discardTuple;
 
-    for (col = rightcol + 1; col < inpamP->width; ++col)
+    for (col = MAX(0, rightcol + 1); col < inpamP->width; ++col)
         inputPointers[col] = discardTuple;
 
     MALLOCVAR_NOFAIL(rowCutterP);