diff options
author | Bruce Momjian <bruce@momjian.us> | 2001-10-25 05:50:21 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2001-10-25 05:50:21 +0000 |
commit | b81844b1738c584d92330a5ccd0fbd8b603d2886 (patch) | |
tree | 4fae0d4cd26048177fc5cd1a2dd91abc99ba0f99 /src/backend/utils/adt/encode.c | |
parent | 59da2105d8e6d95345b3b942a2e2aba8cead4838 (diff) | |
download | postgresql-b81844b1738c584d92330a5ccd0fbd8b603d2886.tar.gz postgresql-b81844b1738c584d92330a5ccd0fbd8b603d2886.zip |
pgindent run on all C files. Java run to follow. initdb/regression
tests pass.
Diffstat (limited to 'src/backend/utils/adt/encode.c')
-rw-r--r-- | src/backend/utils/adt/encode.c | 144 |
1 files changed, 84 insertions, 60 deletions
diff --git a/src/backend/utils/adt/encode.c b/src/backend/utils/adt/encode.c index ce197bd19f4..e5308aca27a 100644 --- a/src/backend/utils/adt/encode.c +++ b/src/backend/utils/adt/encode.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/encode.c,v 1.3 2001/09/30 22:03:41 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/encode.c,v 1.4 2001/10/25 05:49:44 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -20,13 +20,13 @@ struct pg_encoding { - unsigned (*encode_len) (const uint8 *data, unsigned dlen); - unsigned (*decode_len) (const uint8 *data, unsigned dlen); - unsigned (*encode) (const uint8 *data, unsigned dlen, uint8 *res); - unsigned (*decode) (const uint8 *data, unsigned dlen, uint8 *res); + unsigned (*encode_len) (const uint8 *data, unsigned dlen); + unsigned (*decode_len) (const uint8 *data, unsigned dlen); + unsigned (*encode) (const uint8 *data, unsigned dlen, uint8 *res); + unsigned (*decode) (const uint8 *data, unsigned dlen, uint8 *res); }; -static struct pg_encoding * pg_find_encoding(const char *name); +static struct pg_encoding *pg_find_encoding(const char *name); /* * SQL functions. @@ -39,7 +39,9 @@ binary_encode(PG_FUNCTION_ARGS) Datum name = PG_GETARG_DATUM(1); text *result; char *namebuf; - int datalen, resultlen, res; + int datalen, + resultlen, + res; struct pg_encoding *enc; datalen = VARSIZE(data) - VARHDRSZ; @@ -70,8 +72,10 @@ binary_decode(PG_FUNCTION_ARGS) text *data = PG_GETARG_TEXT_P(0); Datum name = PG_GETARG_DATUM(1); bytea *result; - char *namebuf; - int datalen, resultlen, res; + char *namebuf; + int datalen, + resultlen, + res; struct pg_encoding *enc; datalen = VARSIZE(data) - VARHDRSZ; @@ -115,9 +119,9 @@ static const int8 hexlookup[128] = { }; static unsigned -hex_encode(const uint8 * src, unsigned len, uint8 * dst) +hex_encode(const uint8 *src, unsigned len, uint8 *dst) { - const uint8 *end = src + len; + const uint8 *end = src + len; while (src < end) { @@ -131,7 +135,7 @@ hex_encode(const uint8 * src, unsigned len, uint8 * dst) static uint8 get_hex(unsigned c) { - int res = -1; + int res = -1; if (c > 0 && c < 127) res = hexlookup[c]; @@ -139,11 +143,11 @@ get_hex(unsigned c) if (res < 0) elog(ERROR, "Bad hex code: '%c'", c); - return (uint8)res; + return (uint8) res; } static unsigned -hex_decode(const uint8 * src, unsigned len, uint8 * dst) +hex_decode(const uint8 *src, unsigned len, uint8 *dst) { const uint8 *s, *srcend; @@ -172,13 +176,13 @@ hex_decode(const uint8 * src, unsigned len, uint8 * dst) } static unsigned -hex_enc_len(const uint8 * src, unsigned srclen) +hex_enc_len(const uint8 *src, unsigned srclen) { return srclen << 1; } static unsigned -hex_dec_len(const uint8 * src, unsigned srclen) +hex_dec_len(const uint8 *src, unsigned srclen) { return srclen >> 1; } @@ -202,7 +206,7 @@ static const int8 b64lookup[128] = { }; static unsigned -b64_encode(const uint8 * src, unsigned len, uint8 * dst) +b64_encode(const uint8 *src, unsigned len, uint8 *dst) { uint8 *p, *lend = dst + 76; @@ -249,9 +253,9 @@ b64_encode(const uint8 * src, unsigned len, uint8 * dst) } static unsigned -b64_decode(const uint8 * src, unsigned len, uint8 * dst) +b64_decode(const uint8 *src, unsigned len, uint8 *dst) { - const char *srcend = src + len, + const char *srcend = src + len, *s = src; uint8 *p = dst; unsigned c; @@ -281,7 +285,8 @@ b64_decode(const uint8 * src, unsigned len, uint8 * dst) } b = 0; } - else { + else + { b = -1; if (c > 0 && c < 127) b = b64lookup[c]; @@ -311,14 +316,14 @@ b64_decode(const uint8 * src, unsigned len, uint8 * dst) static unsigned -b64_enc_len(const uint8 * src, unsigned srclen) +b64_enc_len(const uint8 *src, unsigned srclen) { /* 3 bytes will be converted to 4, linefeed after 76 chars */ return (srclen + 2) * 4 / 3 + srclen / (76 * 3 / 4); } static unsigned -b64_dec_len(const uint8 * src, unsigned srclen) +b64_dec_len(const uint8 *src, unsigned srclen) { return (srclen * 3) >> 2; } @@ -327,10 +332,10 @@ b64_dec_len(const uint8 * src, unsigned srclen) * Escape * Minimally escape bytea to text. * De-escape text to bytea. - * + * * Only two characters are escaped: * \0 (null) and \\ (backslash) - * + * * De-escapes \\ and any \### octal */ @@ -340,9 +345,9 @@ b64_dec_len(const uint8 * src, unsigned srclen) static unsigned esc_encode(const uint8 *src, unsigned srclen, uint8 *dst) { - const uint8 *end = src + srclen; - uint8 *rp = dst; - int len = 0; + const uint8 *end = src + srclen; + uint8 *rp = dst; + int len = 0; while (src < end) { @@ -377,22 +382,20 @@ esc_encode(const uint8 *src, unsigned srclen, uint8 *dst) static unsigned esc_decode(const uint8 *src, unsigned srclen, uint8 *dst) { - const uint8 *end = src + srclen; - uint8 *rp = dst; - int len = 0; + const uint8 *end = src + srclen; + uint8 *rp = dst; + int len = 0; while (src < end) { if (src[0] != '\\') - { *rp++ = *src++; - } - else if ( src+3 < end && - (src[1] >= '0' && src[1] <= '3') && - (src[2] >= '0' && src[2] <= '7') && - (src[3] >= '0' && src[3] <= '7') ) + else if (src + 3 < end && + (src[1] >= '0' && src[1] <= '3') && + (src[2] >= '0' && src[2] <= '7') && + (src[3] >= '0' && src[3] <= '7')) { - int val; + int val; val = VAL(src[1]); val <<= 3; @@ -401,8 +404,8 @@ esc_decode(const uint8 *src, unsigned srclen, uint8 *dst) *rp++ = val + VAL(src[3]); src += 4; } - else if ( src+1 < end && - (src[1] == '\\') ) + else if (src + 1 < end && + (src[1] == '\\')) { *rp++ = '\\'; src += 2; @@ -410,8 +413,8 @@ esc_decode(const uint8 *src, unsigned srclen, uint8 *dst) else { /* - * One backslash, not followed by ### valid octal. - * Should never get here, since esc_dec_len does same check. + * One backslash, not followed by ### valid octal. Should + * never get here, since esc_dec_len does same check. */ elog(ERROR, "decode: Bad input string for type bytea"); } @@ -425,8 +428,8 @@ esc_decode(const uint8 *src, unsigned srclen, uint8 *dst) static unsigned esc_enc_len(const uint8 *src, unsigned srclen) { - const uint8 *end = src + srclen; - int len = 0; + const uint8 *end = src + srclen; + int len = 0; while (src < end) { @@ -446,27 +449,25 @@ esc_enc_len(const uint8 *src, unsigned srclen) static unsigned esc_dec_len(const uint8 *src, unsigned srclen) { - const uint8 *end = src + srclen; - int len = 0; + const uint8 *end = src + srclen; + int len = 0; while (src < end) { if (src[0] != '\\') - { src++; - } - else if ( src+3 < end && - (src[1] >= '0' && src[1] <= '3') && - (src[2] >= '0' && src[2] <= '7') && - (src[3] >= '0' && src[3] <= '7') ) + else if (src + 3 < end && + (src[1] >= '0' && src[1] <= '3') && + (src[2] >= '0' && src[2] <= '7') && + (src[3] >= '0' && src[3] <= '7')) { /* * backslash + valid octal */ src += 4; } - else if ( src+1 < end && - (src[1] == '\\') ) + else if (src + 1 < end && + (src[1] == '\\')) { /* * two backslashes = backslash @@ -490,20 +491,43 @@ esc_dec_len(const uint8 *src, unsigned srclen) * Common */ -static struct { +static struct +{ const char *name; struct pg_encoding enc; -} enclist[] = { - {"hex", { hex_enc_len, hex_dec_len, hex_encode, hex_decode }}, - {"base64", { b64_enc_len, b64_dec_len, b64_encode, b64_decode }}, - {"escape", { esc_enc_len, esc_dec_len, esc_encode, esc_decode }}, - {NULL, { NULL, NULL, NULL, NULL } } +} enclist[] = + +{ + { + "hex", + { + hex_enc_len, hex_dec_len, hex_encode, hex_decode + } + }, + { + "base64", + { + b64_enc_len, b64_dec_len, b64_encode, b64_decode + } + }, + { + "escape", + { + esc_enc_len, esc_dec_len, esc_encode, esc_decode + } + }, + { + NULL, + { + NULL, NULL, NULL, NULL + } + } }; static struct pg_encoding * pg_find_encoding(const char *name) { - int i; + int i; for (i = 0; enclist[i].name; i++) if (strcasecmp(enclist[i].name, name) == 0) |