Header And Logo

PostgreSQL
| The world's most advanced open source database.

Functions | Variables

utf8_and_ascii.c File Reference

#include "postgres.h"
#include "fmgr.h"
#include "mb/pg_wchar.h"
Include dependency graph for utf8_and_ascii.c:

Go to the source code of this file.

Functions

 PG_FUNCTION_INFO_V1 (ascii_to_utf8)
 PG_FUNCTION_INFO_V1 (utf8_to_ascii)
Datum ascii_to_utf8 (PG_FUNCTION_ARGS)
Datum utf8_to_ascii (PG_FUNCTION_ARGS)

Variables

 PG_MODULE_MAGIC

Function Documentation

Datum ascii_to_utf8 ( PG_FUNCTION_ARGS   ) 

Definition at line 38 of file utf8_and_ascii.c.

References CHECK_ENCODING_CONVERSION_ARGS, pg_ascii2mic(), PG_GETARG_CSTRING, PG_GETARG_INT32, PG_RETURN_VOID, PG_SQL_ASCII, and PG_UTF8.

{
    unsigned char *src = (unsigned char *) PG_GETARG_CSTRING(2);
    unsigned char *dest = (unsigned char *) PG_GETARG_CSTRING(3);
    int         len = PG_GETARG_INT32(4);

    CHECK_ENCODING_CONVERSION_ARGS(PG_SQL_ASCII, PG_UTF8);

    /* this looks wrong, but basically we're just rejecting high-bit-set */
    pg_ascii2mic(src, dest, len);

    PG_RETURN_VOID();
}

PG_FUNCTION_INFO_V1 ( utf8_to_ascii   ) 
PG_FUNCTION_INFO_V1 ( ascii_to_utf8   ) 
Datum utf8_to_ascii ( PG_FUNCTION_ARGS   ) 

Definition at line 53 of file utf8_and_ascii.c.

References CHECK_ENCODING_CONVERSION_ARGS, PG_GETARG_CSTRING, PG_GETARG_INT32, pg_mic2ascii(), PG_RETURN_VOID, PG_SQL_ASCII, and PG_UTF8.

{
    unsigned char *src = (unsigned char *) PG_GETARG_CSTRING(2);
    unsigned char *dest = (unsigned char *) PG_GETARG_CSTRING(3);
    int         len = PG_GETARG_INT32(4);

    CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_SQL_ASCII);

    /* this looks wrong, but basically we're just rejecting high-bit-set */
    pg_mic2ascii(src, dest, len);

    PG_RETURN_VOID();
}


Variable Documentation

Definition at line 18 of file utf8_and_ascii.c.