17 static void pg_to_ascii(
unsigned char *src,
unsigned char *src_end,
18 unsigned char *dest,
int enc);
27 pg_to_ascii(
unsigned char *src,
unsigned char *src_end,
unsigned char *dest,
int enc)
30 const unsigned char *
ascii;
44 ascii = (
const unsigned char *)
" cL Y \"Ca -R 'u ., ?AAAAAAACEEEEIIII NOOOOOxOUUUUYTBaaaaaaaceeeeiiii nooooo/ouuuuyty";
52 ascii = (
const unsigned char *)
" A L LS \"SSTZ-ZZ a,l'ls ,sstz\"zzRAAAALCCCEEEEIIDDNNOOOOxRUUUUYTBraaaalccceeeeiiddnnoooo/ruuuuyt.";
60 ascii = (
const unsigned char *)
" cL YS sCa -R Zu .z EeY?AAAAAAACEEEEIIII NOOOOOxOUUUUYTBaaaaaaaceeeeiiii nooooo/ouuuuyty";
68 ascii = (
const unsigned char *)
" ' \" %S<STZZ `'\"\".-- s>stzz L A \"CS -RZ ,l'u .,as L\"lzRAAAALCCCEEEEIIDDNNOOOOxRUUUUYTBraaaalccceeeeiiddnnoooo/ruuuuyt ";
74 (
errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
75 errmsg(
"encoding conversion from %s to ASCII not supported",
83 for (x = src; x < src_end; x++)
90 *dest++ = ascii[*x -
range];
105 (
unsigned char *) (data) +
VARSIZE(data),
106 (
unsigned char *)
VARDATA(data),
125 (
errcode(ERRCODE_UNDEFINED_OBJECT),
126 errmsg(
"%s is not a valid encoding name", encname)));
143 (
errcode(ERRCODE_UNDEFINED_OBJECT),
144 errmsg(
"%d is not a valid encoding code", enc)));
177 while (--destsiz > 0)
180 unsigned char ch = *src++;
185 if (32 <= ch && ch <= 127)
188 else if (ch ==
'\n' || ch ==
'\r' || ch ==
'\t')
#define PG_GETARG_INT32(n)
static void pg_to_ascii(unsigned char *src, unsigned char *src_end, unsigned char *dest, int enc)
static struct cvec * range(struct vars *v, celt a, celt b, int cases)
int pg_char_to_encoding(const char *name)
Datum to_ascii_encname(PG_FUNCTION_ARGS)
Datum ascii(PG_FUNCTION_ARGS)
int errcode(int sqlerrcode)
void ascii_safe_strlcpy(char *dest, const char *src, size_t destsiz)
Datum to_ascii_enc(PG_FUNCTION_ARGS)
#define PG_GETARG_TEXT_P_COPY(n)
Datum to_ascii_default(PG_FUNCTION_ARGS)
#define PG_VALID_ENCODING(_enc)
#define ereport(elevel, rest)
int GetDatabaseEncoding(void)
#define PG_RETURN_TEXT_P(x)
const char * pg_encoding_to_char(int encoding)
int errmsg(const char *fmt,...)
static text * encode_to_ascii(text *data, int enc)
#define PG_GETARG_NAME(n)