1 /*-------------------------------------------------------------------------
4 * Functions for the built-in type "char".
5 * Functions for the built-in type "cid".
7 * Copyright (c) 1994, Regents of the University of California
11 * $Header: /cvsroot/pgsql/src/backend/utils/adt/char.c,v 1.26 1999/07/17 20:17:54 momjian Exp $
13 *-------------------------------------------------------------------------
16 #include "utils/builtins.h"
18 /*****************************************************************************
20 *****************************************************************************/
23 * charin - converts "x" to 'x'
34 * charout - converts 'x' to "x"
39 char *result = (char *) palloc(2);
41 result[0] = (char) ch;
47 * cidin - converts "..." to internal representation.
49 * NOTE: we must not use 'charin' because cid might be a non
50 * printable character...
66 * cidout - converts a cid to "..."
68 * NOTE: we must no use 'charout' because cid might be a non
69 * printable character...
79 sprintf(result, "%u", (unsigned) (c2));
84 /*****************************************************************************
86 *****************************************************************************/
89 chareq(int8 arg1, int8 arg2)
95 charne(int8 arg1, int8 arg2)
101 charlt(int8 arg1, int8 arg2)
103 return (uint8) arg1 < (uint8) arg2;
107 charle(int8 arg1, int8 arg2)
109 return (uint8) arg1 <= (uint8) arg2;
113 chargt(int8 arg1, int8 arg2)
115 return (uint8) arg1 > (uint8) arg2;
119 charge(int8 arg1, int8 arg2)
121 return (uint8) arg1 >= (uint8) arg2;
125 charpl(int8 arg1, int8 arg2)
131 charmi(int8 arg1, int8 arg2)
137 charmul(int8 arg1, int8 arg2)
143 chardiv(int8 arg1, int8 arg2)
149 cideq(int8 arg1, int8 arg2)
155 text_char(text *arg1)
157 return ((int8) *(VARDATA(arg1)));
165 result = palloc(VARHDRSZ + 1);
166 VARSIZE(result) = VARHDRSZ + 1;
167 *(VARDATA(result)) = arg1;