提交 89ee5b89 编写于 作者: T Tom Lane

Fix some more compatibility issues (ctype.h macros must never be passed

signed chars...)
上级 eeaef25a
...@@ -37,14 +37,14 @@ findwrd(char *in, char **end) ...@@ -37,14 +37,14 @@ findwrd(char *in, char **end)
char *start; char *start;
*end = NULL; *end = NULL;
while (*in && isspace(*in)) while (*in && isspace((unsigned char) *in))
in++; in++;
if (!in) if (!in)
return NULL; return NULL;
start = in; start = in;
while (*in && !isspace(*in)) while (*in && !isspace((unsigned char) *in))
in++; in++;
*end = in; *end = in;
......
...@@ -66,12 +66,12 @@ parse_cfgdict(text *in, Map ** m) ...@@ -66,12 +66,12 @@ parse_cfgdict(text *in, Map ** m)
{ {
if (state == CS_WAITKEY) if (state == CS_WAITKEY)
{ {
if (isalpha(*ptr)) if (isalpha((unsigned char) *ptr))
{ {
begin = ptr; begin = ptr;
state = CS_INKEY; state = CS_INKEY;
} }
else if (!isspace(*ptr)) else if (!isspace((unsigned char) *ptr))
ereport(ERROR, ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR), (errcode(ERRCODE_SYNTAX_ERROR),
errmsg("syntax error"), errmsg("syntax error"),
...@@ -80,7 +80,7 @@ parse_cfgdict(text *in, Map ** m) ...@@ -80,7 +80,7 @@ parse_cfgdict(text *in, Map ** m)
} }
else if (state == CS_INKEY) else if (state == CS_INKEY)
{ {
if (isspace(*ptr)) if (isspace((unsigned char) *ptr))
{ {
mptr->key = nstrdup(begin, ptr - begin); mptr->key = nstrdup(begin, ptr - begin);
state = CS_WAITEQ; state = CS_WAITEQ;
...@@ -90,7 +90,7 @@ parse_cfgdict(text *in, Map ** m) ...@@ -90,7 +90,7 @@ parse_cfgdict(text *in, Map ** m)
mptr->key = nstrdup(begin, ptr - begin); mptr->key = nstrdup(begin, ptr - begin);
state = CS_WAITVALUE; state = CS_WAITVALUE;
} }
else if (!isalpha(*ptr)) else if (!isalpha((unsigned char) *ptr))
ereport(ERROR, ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR), (errcode(ERRCODE_SYNTAX_ERROR),
errmsg("syntax error"), errmsg("syntax error"),
...@@ -101,7 +101,7 @@ parse_cfgdict(text *in, Map ** m) ...@@ -101,7 +101,7 @@ parse_cfgdict(text *in, Map ** m)
{ {
if (*ptr == '=') if (*ptr == '=')
state = CS_WAITVALUE; state = CS_WAITVALUE;
else if (!isspace(*ptr)) else if (!isspace((unsigned char) *ptr))
ereport(ERROR, ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR), (errcode(ERRCODE_SYNTAX_ERROR),
errmsg("syntax error"), errmsg("syntax error"),
...@@ -115,7 +115,7 @@ parse_cfgdict(text *in, Map ** m) ...@@ -115,7 +115,7 @@ parse_cfgdict(text *in, Map ** m)
begin = ptr + 1; begin = ptr + 1;
state = CS_INVALUE; state = CS_INVALUE;
} }
else if (!isspace(*ptr)) else if (!isspace((unsigned char) *ptr))
{ {
begin = ptr; begin = ptr;
state = CS_IN2VALUE; state = CS_IN2VALUE;
...@@ -134,7 +134,7 @@ parse_cfgdict(text *in, Map ** m) ...@@ -134,7 +134,7 @@ parse_cfgdict(text *in, Map ** m)
} }
else if (state == CS_IN2VALUE) else if (state == CS_IN2VALUE)
{ {
if (isspace(*ptr) || *ptr == ',') if (isspace((unsigned char) *ptr) || *ptr == ',')
{ {
mptr->value = nstrdup(begin, ptr - begin); mptr->value = nstrdup(begin, ptr - begin);
mptr++; mptr++;
...@@ -147,7 +147,7 @@ parse_cfgdict(text *in, Map ** m) ...@@ -147,7 +147,7 @@ parse_cfgdict(text *in, Map ** m)
{ {
if (*ptr == ',') if (*ptr == ',')
state = CS_WAITKEY; state = CS_WAITKEY;
else if (!isspace(*ptr)) else if (!isspace((unsigned char) *ptr))
ereport(ERROR, ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR), (errcode(ERRCODE_SYNTAX_ERROR),
errmsg("syntax error"), errmsg("syntax error"),
......
...@@ -310,7 +310,7 @@ gettoken_tsvector(TI_IN_STATE * state) ...@@ -310,7 +310,7 @@ gettoken_tsvector(TI_IN_STATE * state)
} }
else if (state->state == INPOSINFO) else if (state->state == INPOSINFO)
{ {
if (isdigit(*(state->prsbuf))) if (isdigit((unsigned char) *(state->prsbuf)))
{ {
if (state->alen == 0) if (state->alen == 0)
{ {
...@@ -373,9 +373,10 @@ gettoken_tsvector(TI_IN_STATE * state) ...@@ -373,9 +373,10 @@ gettoken_tsvector(TI_IN_STATE * state)
errmsg("syntax error"))); errmsg("syntax error")));
state->pos[*(uint16 *) (state->pos)].weight = 0; state->pos[*(uint16 *) (state->pos)].weight = 0;
} }
else if (isspace(*(state->prsbuf)) || *(state->prsbuf) == '\0') else if (isspace((unsigned char) *(state->prsbuf)) ||
*(state->prsbuf) == '\0')
return 1; return 1;
else if (!isdigit(*(state->prsbuf))) else if (!isdigit((unsigned char) *(state->prsbuf)))
ereport(ERROR, ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR), (errcode(ERRCODE_SYNTAX_ERROR),
errmsg("syntax error"))); errmsg("syntax error")));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册