summaryrefslogtreecommitdiff
path: root/extension
diff options
context:
space:
mode:
authorAndrew J. Schorr <aschorr@telemetry-investments.com>2021-09-27 10:26:15 -0400
committerAndrew J. Schorr <aschorr@telemetry-investments.com>2021-09-27 10:26:15 -0400
commit58431879b19a1b1cd5ff3a6575be07c46c73db39 (patch)
tree74921c1095e07cc988a54c6ce8c09ac9975f57d7 /extension
parentd249840cccab9490a5fd9580ba5aa6181930bca5 (diff)
downloadgawk-58431879b19a1b1cd5ff3a6575be07c46c73db39.tar.gz
Patch ord function to avoid returning negative values.
Diffstat (limited to 'extension')
-rw-r--r--extension/ChangeLog5
-rw-r--r--extension/ordchr.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/extension/ChangeLog b/extension/ChangeLog
index f4e6ea41..d795260b 100644
--- a/extension/ChangeLog
+++ b/extension/ChangeLog
@@ -1,3 +1,8 @@
+2021-09-27 Andrew J. Schorr <aschorr@telemetry-investments.com>
+
+ * ordchr.c (do_ord): Need to cast to unsigned char to avoid returning
+ negative values.
+
2021-09-22 Arnold D. Robbins <arnold@skeeve.com>
* configure.ac: Update version to 5.1.1 in preparation for release.
diff --git a/extension/ordchr.c b/extension/ordchr.c
index e1afade5..d367988b 100644
--- a/extension/ordchr.c
+++ b/extension/ordchr.c
@@ -67,7 +67,7 @@ do_ord(int nargs, awk_value_t *result, struct awk_ext_func *unused)
assert(result != NULL);
if (get_argument(0, AWK_STRING, & str)) {
- ret = str.str_value.str[0];
+ ret = (unsigned char)str.str_value.str[0];
} else if (do_lint)
lintwarn(ext_id, _("ord: first argument is not a string"));