mirror of
https://github.com/postgres/postgres.git
synced 2025-05-03 22:24:49 +03:00
Fix code to work when isalpha and friends are macros, not functions.
This commit is contained in:
parent
72a3902a66
commit
3e48c66136
@ -124,8 +124,13 @@ static void findmust(struct parse * p, struct re_guts * g);
|
|||||||
static sopno pluscount(struct parse * p, struct re_guts * g);
|
static sopno pluscount(struct parse * p, struct re_guts * g);
|
||||||
static int pg_isdigit(int c);
|
static int pg_isdigit(int c);
|
||||||
static int pg_isalpha(int c);
|
static int pg_isalpha(int c);
|
||||||
|
static int pg_isalnum(int c);
|
||||||
static int pg_isupper(int c);
|
static int pg_isupper(int c);
|
||||||
static int pg_islower(int c);
|
static int pg_islower(int c);
|
||||||
|
static int pg_iscntrl(int c);
|
||||||
|
static int pg_isgraph(int c);
|
||||||
|
static int pg_isprint(int c);
|
||||||
|
static int pg_ispunct(int c);
|
||||||
|
|
||||||
static pg_wchar nuls[10]; /* place to point scanner in event of
|
static pg_wchar nuls[10]; /* place to point scanner in event of
|
||||||
* error */
|
* error */
|
||||||
@ -1709,6 +1714,16 @@ pg_isalpha(int c)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
pg_isalnum(int c)
|
||||||
|
{
|
||||||
|
#ifdef MULTIBYTE
|
||||||
|
return (c >= 0 && c <= UCHAR_MAX && isalnum((unsigned char) c));
|
||||||
|
#else
|
||||||
|
return (isalnum((unsigned char) c));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
pg_isupper(int c)
|
pg_isupper(int c)
|
||||||
{
|
{
|
||||||
@ -1729,6 +1744,46 @@ pg_islower(int c)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
pg_iscntrl(int c)
|
||||||
|
{
|
||||||
|
#ifdef MULTIBYTE
|
||||||
|
return (c >= 0 && c <= UCHAR_MAX && iscntrl((unsigned char) c));
|
||||||
|
#else
|
||||||
|
return (iscntrl((unsigned char) c));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
pg_isgraph(int c)
|
||||||
|
{
|
||||||
|
#ifdef MULTIBYTE
|
||||||
|
return (c >= 0 && c <= UCHAR_MAX && isgraph((unsigned char) c));
|
||||||
|
#else
|
||||||
|
return (isgraph((unsigned char) c));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
pg_isprint(int c)
|
||||||
|
{
|
||||||
|
#ifdef MULTIBYTE
|
||||||
|
return (c >= 0 && c <= UCHAR_MAX && isprint((unsigned char) c));
|
||||||
|
#else
|
||||||
|
return (isprint((unsigned char) c));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
pg_ispunct(int c)
|
||||||
|
{
|
||||||
|
#ifdef MULTIBYTE
|
||||||
|
return (c >= 0 && c <= UCHAR_MAX && ispunct((unsigned char) c));
|
||||||
|
#else
|
||||||
|
return (ispunct((unsigned char) c));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
static struct cclass *
|
static struct cclass *
|
||||||
cclass_init(void)
|
cclass_init(void)
|
||||||
{
|
{
|
||||||
@ -1756,17 +1811,17 @@ cclass_init(void)
|
|||||||
char *chars;
|
char *chars;
|
||||||
} cclass_factories [] =
|
} cclass_factories [] =
|
||||||
{
|
{
|
||||||
{ "alnum", isalnum, NULL },
|
{ "alnum", pg_isalnum, NULL },
|
||||||
{ "alpha", isalpha, NULL },
|
{ "alpha", pg_isalpha, NULL },
|
||||||
{ "blank", NULL, " \t" },
|
{ "blank", NULL, " \t" },
|
||||||
{ "cntrl", iscntrl, NULL },
|
{ "cntrl", pg_iscntrl, NULL },
|
||||||
{ "digit", NULL, "0123456789" },
|
{ "digit", NULL, "0123456789" },
|
||||||
{ "graph", isgraph, NULL },
|
{ "graph", pg_isgraph, NULL },
|
||||||
{ "lower", islower, NULL },
|
{ "lower", pg_islower, NULL },
|
||||||
{ "print", isprint, NULL },
|
{ "print", pg_isprint, NULL },
|
||||||
{ "punct", ispunct, NULL },
|
{ "punct", pg_ispunct, NULL },
|
||||||
{ "space", NULL, "\t\n\v\f\r " },
|
{ "space", NULL, "\t\n\v\f\r " },
|
||||||
{ "upper", isupper, NULL },
|
{ "upper", pg_isupper, NULL },
|
||||||
{ "xdigit", NULL, "0123456789ABCDEFabcdef" },
|
{ "xdigit", NULL, "0123456789ABCDEFabcdef" },
|
||||||
{ NULL, NULL, NULL }
|
{ NULL, NULL, NULL }
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user