From cb0ca0c9953aa0614e7b143bd2440a7582a27233 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Sun, 6 Mar 2016 18:23:53 -0500
Subject: [PATCH] Fix unportable usage of <ctype.h> functions.

isdigit(), isspace(), etc are likely to give surprising results if passed a
signed char.  We should always cast the argument to unsigned char to avoid
that.  Error in commit d78a7d9c7fa3e9cd, found by buildfarm member gaur.
---
 src/backend/tsearch/spell.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/backend/tsearch/spell.c b/src/backend/tsearch/spell.c
index be3432693df..7c24c474957 100644
--- a/src/backend/tsearch/spell.c
+++ b/src/backend/tsearch/spell.c
@@ -363,7 +363,7 @@ DecodeFlag(IspellDict *Conf, char *sflag, char **sflagnext)
 									 errmsg("non-ASCII affix flag \"%s\"",
 											sflag)));
 						}
-						else if (isdigit(*next))
+						else if (isdigit((unsigned char) *next))
 						{
 							if (!met_comma)
 								ereport(ERROR,
@@ -381,7 +381,7 @@ DecodeFlag(IspellDict *Conf, char *sflag, char **sflagnext)
 												sflag)));
 							met_comma = true;
 						}
-						else if (!isspace(*next))
+						else if (!isspace((unsigned char) *next))
 						{
 							ereport(ERROR,
 									(errcode(ERRCODE_CONFIG_FILE_ERROR),
-- 
GitLab