diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2024-03-09 20:47:10 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2024-03-09 20:47:10 +0000 |
commit | 2ae3e9f216271ee6a3a9aa1e10bcb818aed3ee74 (patch) | |
tree | bf144b754c90f997bb87e2477bf01875494bd93f /editor | |
parent | 6ad95b2b7ac68741f220199b7114f99cdc710875 (diff) | |
download | netpbm-mirror-2ae3e9f216271ee6a3a9aa1e10bcb818aed3ee74.tar.gz netpbm-mirror-2ae3e9f216271ee6a3a9aa1e10bcb818aed3ee74.tar.xz netpbm-mirror-2ae3e9f216271ee6a3a9aa1e10bcb818aed3ee74.zip |
Fix case where extracted rectangle is entirely above the input image
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@4863 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'editor')
-rw-r--r-- | editor/pamcut.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/editor/pamcut.c b/editor/pamcut.c index 908d43fb..c495c11b 100644 --- a/editor/pamcut.c +++ b/editor/pamcut.c @@ -677,8 +677,8 @@ extractRowsGen(const struct pam * const inpamP, int row; /* Write out top padding */ - if (0 - toprow > 0) - writeBlackRows(outpamP, 0 - toprow); + if (toprow < 0) + writeBlackRows(outpamP, MIN(0, bottomrow+1) - toprow); createRowCutter(inpamP, outpamP, leftcol, rightcol, &rowCutterP); @@ -762,12 +762,9 @@ extractRowsPbm(const struct pam * const inpamP, makeBlackPbmRow(bitrow, totalWidth); /* Initialize row buffer to all black for top and side padding */ - if (toprow < 0) { - int row; - for (row = 0; row < 0 - toprow; ++row) - pbm_writepbmrow_packed(outpamP->file, bitrow, - outpamP->width, 0); - } + /* Write out top padding */ + for (row = toprow; row < MIN(0, bottomrow+1); ++row) + pbm_writepbmrow_packed(outpamP->file, bitrow, outpamP->width, 0); for (row = 0; row < inpamP->height; ++row){ if (row >= toprow && row <= bottomrow) { |