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.24 1999/07/15 15:20:12 momjian Exp $
13 *-------------------------------------------------------------------------
15 #include <stdio.h> /* for sprintf() */
18 #include "utils/builtins.h" /* where the declarations go */
20 /*****************************************************************************
22 *****************************************************************************/
25 * charin - converts "x" to 'x'
36 * charout - converts 'x' to "x"
41 char *result = (char *) palloc(2);
43 result[0] = (char) ch;
49 * cidin - converts "..." to internal representation.
51 * NOTE: we must not use 'charin' because cid might be a non
52 * printable character...
68 * cidout - converts a cid to "..."
70 * NOTE: we must no use 'charout' because cid might be a non
71 * printable character...
81 sprintf(result, "%u", (unsigned) (c2));
86 /*****************************************************************************
88 *****************************************************************************/
91 chareq(int8 arg1, int8 arg2)
97 charne(int8 arg1, int8 arg2)
103 charlt(int8 arg1, int8 arg2)
105 return (uint8) arg1 < (uint8) arg2;
109 charle(int8 arg1, int8 arg2)
111 return (uint8) arg1 <= (uint8) arg2;
115 chargt(int8 arg1, int8 arg2)
117 return (uint8) arg1 > (uint8) arg2;
121 charge(int8 arg1, int8 arg2)
123 return (uint8) arg1 >= (uint8) arg2;
127 charpl(int8 arg1, int8 arg2)
133 charmi(int8 arg1, int8 arg2)
139 charmul(int8 arg1, int8 arg2)
145 chardiv(int8 arg1, int8 arg2)
151 cideq(int8 arg1, int8 arg2)
157 text_char(text *arg1)
159 return ((int8) *(VARDATA(arg1)));
167 result = palloc(VARHDRSZ + 1);
168 VARSIZE(result) = VARHDRSZ + 1;
169 *(VARDATA(result)) = arg1;