mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
I have added these macros to c.h:
#define HIGHBIT (0x80) #define IS_HIGHBIT_SET(ch) ((unsigned char)(ch) & HIGHBIT) and removed CSIGNBIT and mapped it uses to HIGHBIT. I have also added uses for IS_HIGHBIT_SET where appropriate. This change is purely for code clarity.
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* PostgreSQL type definitions for the INET and CIDR types.
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/backend/utils/adt/network.c,v 1.56 2005/10/17 16:24:19 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/utils/adt/network.c,v 1.57 2005/12/25 02:14:17 momjian Exp $
|
||||
*
|
||||
* Jon Postel RIP 16 Oct 1998
|
||||
*/
|
||||
@ -904,16 +904,16 @@ bitncmp(void *l, void *r, int n)
|
||||
rb = ((const u_char *) r)[b];
|
||||
for (b = n % 8; b > 0; b--)
|
||||
{
|
||||
if ((lb & 0x80) != (rb & 0x80))
|
||||
if (IS_HIGHBIT_SET(lb) != IS_HIGHBIT_SET(rb))
|
||||
{
|
||||
if (lb & 0x80)
|
||||
return (1);
|
||||
return (-1);
|
||||
if (IS_HIGHBIT_SET(lb))
|
||||
return 1;
|
||||
return -1;
|
||||
}
|
||||
lb <<= 1;
|
||||
rb <<= 1;
|
||||
}
|
||||
return (0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static bool
|
||||
|
@ -9,7 +9,7 @@
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/utils/adt/varbit.c,v 1.47 2005/10/15 02:49:30 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/utils/adt/varbit.c,v 1.48 2005/12/25 02:14:17 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -120,7 +120,7 @@ bit_in(PG_FUNCTION_ARGS)
|
||||
{
|
||||
/* Parse the bit representation of the string */
|
||||
/* We know it fits, as bitlen was compared to atttypmod */
|
||||
x = BITHIGH;
|
||||
x = HIGHBIT;
|
||||
for (; *sp; sp++)
|
||||
{
|
||||
if (*sp == '1')
|
||||
@ -134,7 +134,7 @@ bit_in(PG_FUNCTION_ARGS)
|
||||
x >>= 1;
|
||||
if (x == 0)
|
||||
{
|
||||
x = BITHIGH;
|
||||
x = HIGHBIT;
|
||||
r++;
|
||||
}
|
||||
}
|
||||
@ -401,7 +401,7 @@ varbit_in(PG_FUNCTION_ARGS)
|
||||
{
|
||||
/* Parse the bit representation of the string */
|
||||
/* We know it fits, as bitlen was compared to atttypmod */
|
||||
x = BITHIGH;
|
||||
x = HIGHBIT;
|
||||
for (; *sp; sp++)
|
||||
{
|
||||
if (*sp == '1')
|
||||
@ -415,7 +415,7 @@ varbit_in(PG_FUNCTION_ARGS)
|
||||
x >>= 1;
|
||||
if (x == 0)
|
||||
{
|
||||
x = BITHIGH;
|
||||
x = HIGHBIT;
|
||||
r++;
|
||||
}
|
||||
}
|
||||
@ -477,14 +477,14 @@ varbit_out(PG_FUNCTION_ARGS)
|
||||
x = *sp;
|
||||
for (k = 0; k < BITS_PER_BYTE; k++)
|
||||
{
|
||||
*r++ = (x & BITHIGH) ? '1' : '0';
|
||||
*r++ = IS_HIGHBIT_SET(x) ? '1' : '0';
|
||||
x <<= 1;
|
||||
}
|
||||
}
|
||||
x = *sp;
|
||||
for (k = i; k < len; k++)
|
||||
{
|
||||
*r++ = (x & BITHIGH) ? '1' : '0';
|
||||
*r++ = IS_HIGHBIT_SET(x) ? '1' : '0';
|
||||
x <<= 1;
|
||||
}
|
||||
*r = '\0';
|
||||
|
@ -6,7 +6,7 @@
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/utils/mb/conv.c,v 1.56 2005/10/29 00:31:52 petere Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/utils/mb/conv.c,v 1.57 2005/12/25 02:14:17 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -413,7 +413,7 @@ LocalToUtf(unsigned char *iso, unsigned char *utf,
|
||||
|
||||
for (; len > 0 && *iso; len -= l)
|
||||
{
|
||||
if (*iso < 0x80)
|
||||
if (!IS_HIGHBIT_SET(*iso))
|
||||
{
|
||||
*utf++ = *iso++;
|
||||
l = 1;
|
||||
|
@ -6,7 +6,7 @@
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/euc_cn_and_mic/euc_cn_and_mic.c,v 1.10 2005/09/24 17:53:18 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/euc_cn_and_mic/euc_cn_and_mic.c,v 1.11 2005/12/25 02:14:18 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -77,7 +77,7 @@ euc_cn2mic(unsigned char *euc, unsigned char *p, int len)
|
||||
|
||||
while (len >= 0 && (c1 = *euc++))
|
||||
{
|
||||
if (c1 & 0x80)
|
||||
if (IS_HIGHBIT_SET(c1))
|
||||
{
|
||||
len -= 2;
|
||||
*p++ = LC_GB2312_80;
|
||||
|
@ -6,7 +6,7 @@
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/euc_kr_and_mic/euc_kr_and_mic.c,v 1.10 2005/09/24 17:53:19 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/euc_kr_and_mic/euc_kr_and_mic.c,v 1.11 2005/12/25 02:14:18 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -77,7 +77,7 @@ euc_kr2mic(unsigned char *euc, unsigned char *p, int len)
|
||||
|
||||
while (len >= 0 && (c1 = *euc++))
|
||||
{
|
||||
if (c1 & 0x80)
|
||||
if (IS_HIGHBIT_SET(c1))
|
||||
{
|
||||
len -= 2;
|
||||
*p++ = LC_KS5601;
|
||||
|
@ -6,7 +6,7 @@
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/euc_tw_and_big5/euc_tw_and_big5.c,v 1.10 2005/09/24 17:53:19 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/euc_tw_and_big5/euc_tw_and_big5.c,v 1.11 2005/12/25 02:14:18 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -177,7 +177,7 @@ euc_tw2mic(unsigned char *euc, unsigned char *p, int len)
|
||||
*p++ = *euc++;
|
||||
*p++ = *euc++;
|
||||
}
|
||||
else if (c1 & 0x80)
|
||||
else if (IS_HIGHBIT_SET(c1))
|
||||
{ /* CNS11643-1 */
|
||||
len -= 2;
|
||||
*p++ = LC_CNS11643_1;
|
||||
|
@ -6,7 +6,7 @@
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_iso8859_1/utf8_and_iso8859_1.c,v 1.12 2005/09/24 17:53:24 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_iso8859_1/utf8_and_iso8859_1.c,v 1.13 2005/12/25 02:14:18 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -46,12 +46,12 @@ iso8859_1_to_utf8(PG_FUNCTION_ARGS)
|
||||
|
||||
while (len-- > 0 && (c = *src++))
|
||||
{
|
||||
if (c < 0x80)
|
||||
if (!IS_HIGHBIT_SET(c))
|
||||
*dest++ = c;
|
||||
else
|
||||
{
|
||||
*dest++ = (c >> 6) | 0xc0;
|
||||
*dest++ = (c & 0x003f) | 0x80;
|
||||
*dest++ = (c & 0x003f) | HIGHBIT;
|
||||
}
|
||||
}
|
||||
*dest = '\0';
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* conversion functions between pg_wchar and multibyte streams.
|
||||
* Tatsuo Ishii
|
||||
* $PostgreSQL: pgsql/src/backend/utils/mb/wchar.c,v 1.50 2005/12/24 17:19:40 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/utils/mb/wchar.c,v 1.51 2005/12/25 02:14:18 momjian Exp $
|
||||
*
|
||||
* WIN1250 client encoding updated by Pavel Behal
|
||||
*
|
||||
@ -79,7 +79,7 @@ static int pg_euc2wchar_with_len
|
||||
*to |= *from++;
|
||||
len -= 3;
|
||||
}
|
||||
else if ((*from & 0x80) && len >= 2) /* JIS X 0208 KANJI */
|
||||
else if (IS_HIGHBIT_SET(*from) && len >= 2) /* JIS X 0208 KANJI */
|
||||
{
|
||||
*to = *from++ << 8;
|
||||
*to |= *from++;
|
||||
@ -106,7 +106,7 @@ pg_euc_mblen(const unsigned char *s)
|
||||
len = 2;
|
||||
else if (*s == SS3)
|
||||
len = 3;
|
||||
else if (*s & 0x80)
|
||||
else if (IS_HIGHBIT_SET(*s))
|
||||
len = 2;
|
||||
else
|
||||
len = 1;
|
||||
@ -122,7 +122,7 @@ pg_euc_dsplen(const unsigned char *s)
|
||||
len = 2;
|
||||
else if (*s == SS3)
|
||||
len = 2;
|
||||
else if (*s & 0x80)
|
||||
else if (IS_HIGHBIT_SET(*s))
|
||||
len = 2;
|
||||
else
|
||||
len = 1;
|
||||
@ -153,7 +153,7 @@ pg_eucjp_dsplen(const unsigned char *s)
|
||||
len = 1;
|
||||
else if (*s == SS3)
|
||||
len = 2;
|
||||
else if (*s & 0x80)
|
||||
else if (IS_HIGHBIT_SET(*s))
|
||||
len = 2;
|
||||
else
|
||||
len = 1;
|
||||
@ -206,7 +206,7 @@ static int pg_euccn2wchar_with_len
|
||||
*to |= *from++;
|
||||
len -= 3;
|
||||
}
|
||||
else if ((*from & 0x80) && len >= 2) /* code set 1 */
|
||||
else if (IS_HIGHBIT_SET(*from) && len >= 2) /* code set 1 */
|
||||
{
|
||||
*to = *from++ << 8;
|
||||
*to |= *from++;
|
||||
@ -229,7 +229,7 @@ pg_euccn_mblen(const unsigned char *s)
|
||||
{
|
||||
int len;
|
||||
|
||||
if (*s & 0x80)
|
||||
if (IS_HIGHBIT_SET(*s))
|
||||
len = 2;
|
||||
else
|
||||
len = 1;
|
||||
@ -241,7 +241,7 @@ pg_euccn_dsplen(const unsigned char *s)
|
||||
{
|
||||
int len;
|
||||
|
||||
if (*s & 0x80)
|
||||
if (IS_HIGHBIT_SET(*s))
|
||||
len = 2;
|
||||
else
|
||||
len = 1;
|
||||
@ -274,7 +274,7 @@ static int pg_euctw2wchar_with_len
|
||||
*to |= *from++;
|
||||
len -= 3;
|
||||
}
|
||||
else if ((*from & 0x80) && len >= 2) /* code set 2 */
|
||||
else if (IS_HIGHBIT_SET(*from) && len >= 2) /* code set 2 */
|
||||
{
|
||||
*to = *from++ << 8;
|
||||
*to |= *from++;
|
||||
@ -301,7 +301,7 @@ pg_euctw_mblen(const unsigned char *s)
|
||||
len = 4;
|
||||
else if (*s == SS3)
|
||||
len = 3;
|
||||
else if (*s & 0x80)
|
||||
else if (IS_HIGHBIT_SET(*s))
|
||||
len = 2;
|
||||
else
|
||||
len = 1;
|
||||
@ -317,7 +317,7 @@ pg_euctw_dsplen(const unsigned char *s)
|
||||
len = 2;
|
||||
else if (*s == SS3)
|
||||
len = 2;
|
||||
else if (*s & 0x80)
|
||||
else if (IS_HIGHBIT_SET(*s))
|
||||
len = 2;
|
||||
else
|
||||
len = 1;
|
||||
@ -361,7 +361,7 @@ pg_utf2wchar_with_len(const unsigned char *from, pg_wchar *to, int len)
|
||||
|
||||
while (len > 0 && *from)
|
||||
{
|
||||
if ((*from & 0x80) == 0)
|
||||
if (!IS_HIGHBIT_SET(*from))
|
||||
{
|
||||
*to = *from++;
|
||||
len--;
|
||||
@ -866,7 +866,7 @@ pg_verifymbstr(const char *mbstr, int len, bool noError)
|
||||
* we expect that every multibyte char consists of bytes
|
||||
* having the 8th bit set
|
||||
*/
|
||||
if (i >= len || (mbstr[i] & 0x80) == 0)
|
||||
if (i >= len || !IS_HIGHBIT_SET(mbstr[i]))
|
||||
{
|
||||
char buf[8 * 2 + 1];
|
||||
char *p = buf;
|
||||
|
Reference in New Issue
Block a user