summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--RichString.c5
-rw-r--r--Settings.c2
2 files changed, 5 insertions, 2 deletions
diff --git a/RichString.c b/RichString.c
index 556674b0..248b3ae0 100644
--- a/RichString.c
+++ b/RichString.c
@@ -9,7 +9,9 @@ in the source distribution for its full text.
#include "RichString.h"
+#include <assert.h>
#include <ctype.h>
+#include <limits.h> // IWYU pragma: keep
#include <stdlib.h>
#include <string.h>
@@ -144,7 +146,8 @@ static inline int RichString_writeFromAscii(RichString* this, int attrs, const c
int newLen = from + len;
RichString_setLen(this, newLen);
for (int i = from, j = 0; i < newLen; i++, j++) {
- this->chptr[i] = (CharType) { .attr = attrs & 0xffffff, .chars = { (isprint(data[j]) ? data[j] : L'\xFFFD') } };
+ assert((unsigned char)data[j] <= SCHAR_MAX);
+ this->chptr[i] = (CharType) { .attr = attrs & 0xffffff, .chars = { (isprint((unsigned char)data[j]) ? data[j] : L'\xFFFD') } };
}
return len;
diff --git a/Settings.c b/Settings.c
index 07b7e6a2..5913af27 100644
--- a/Settings.c
+++ b/Settings.c
@@ -233,7 +233,7 @@ static const char* toFieldName(Hashtable* columns, int id, bool* enabled) {
}
static int toFieldIndex(Hashtable* columns, const char* str) {
- if (isdigit(str[0])) {
+ if (isdigit((unsigned char)str[0])) {
// This "+1" is for compatibility with the older enum format.
int id = atoi(str) + 1;
if (toFieldName(columns, id, NULL)) {