diff options
author | Zach van Rijn <me@zv.io> | 2023-08-17 20:58:19 -0500 |
---|---|---|
committer | Zach van Rijn <me@zv.io> | 2023-08-17 20:59:55 -0500 |
commit | 21fe3ef399c25f030d6657e83cc635335f3a9f40 (patch) | |
tree | 7b5dc7d143d8c62c8d11da7bc8360f4d3f0c9c5b /user/gnucobol/0001-move-packed-decimal.patch | |
parent | 8f97a591ffdcd9877a2d46d0852c40829b8f08e6 (diff) | |
download | packages-21fe3ef399c25f030d6657e83cc635335f3a9f40.tar.gz packages-21fe3ef399c25f030d6657e83cc635335f3a9f40.tar.bz2 packages-21fe3ef399c25f030d6657e83cc635335f3a9f40.tar.xz packages-21fe3ef399c25f030d6657e83cc635335f3a9f40.zip |
user/gnucobol: bump { 3.1.2 --> 3.2 }.
Diffstat (limited to 'user/gnucobol/0001-move-packed-decimal.patch')
-rw-r--r-- | user/gnucobol/0001-move-packed-decimal.patch | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/user/gnucobol/0001-move-packed-decimal.patch b/user/gnucobol/0001-move-packed-decimal.patch new file mode 100644 index 000000000..d5251172a --- /dev/null +++ b/user/gnucobol/0001-move-packed-decimal.patch @@ -0,0 +1,30 @@ +See also: + +* https://sourceforge.net/p/gnucobol/bugs/904/ + +diff -ur a/gnucobol-3.2/libcob/numeric.c b/gnucobol-3.2/libcob/numeric.c +--- a/libcob/numeric.c 2023-08-18 01:07:41.324059298 +0000 ++++ b/libcob/numeric.c 2023-08-18 01:31:31.294137417 +0000 +@@ -2739,17 +2739,12 @@ + } + } else { + unsigned char *pos = fld2 + fld2_size - 1; +- if (COB_FIELD_HAVE_SIGN (f2)) { +- if (!fld1_sign) { +- *pos &= 0xF0; +- *pos |= 0x0C; +- } else { +- *pos &= 0xF0; +- *pos |= fld1_sign; +- } +- } else { +- *pos &= 0xF0; ++ if (!COB_FIELD_HAVE_SIGN (f2)) { + *pos |= 0x0F; ++ } else if (fld1_sign == 0x0D) { ++ *pos = (*pos & 0xF0) | 0x0D; ++ } else { ++ *pos = (*pos & 0xF0) | 0x0C; + } + if (!(COB_FIELD_DIGITS (f2) & 1) /* -> digits % 2 == 0 */) { + *fld2 &= 0x0F; |