📄 char.c
字号:
/*------------------------------------------------------------------------- * * char.c * Functions for the built-in type "char". * Functions for the built-in type "cid". * * Copyright (c) 1994, Regents of the University of California * * * IDENTIFICATION * $Header: /usr/local/cvsroot/pgsql/src/backend/utils/adt/char.c,v 1.22.2.1 1999/08/02 05:24:50 scrappy Exp $ * *------------------------------------------------------------------------- */#include "postgres.h"#include "utils/builtins.h"/***************************************************************************** * USER I/O ROUTINES * *****************************************************************************//* * charin - converts "x" to 'x' */int32charin(char *ch){ if (ch == NULL) return (int32) '\0'; return (int32) *ch;}/* * charout - converts 'x' to "x" */char *charout(int32 ch){ char *result = (char *) palloc(2); result[0] = (char) ch; result[1] = '\0'; return result;}/* * cidin - converts "..." to internal representation. * * NOTE: we must not use 'charin' because cid might be a non * printable character... */int32cidin(char *s){ CommandId c; if (s == NULL) c = 0; else c = atoi(s); return (int32) c;}/* * cidout - converts a cid to "..." * * NOTE: we must no use 'charout' because cid might be a non * printable character... */char *cidout(int32 c){ char *result; CommandId c2; result = palloc(12); c2 = (CommandId) c; sprintf(result, "%u", (unsigned) (c2)); return result;}/***************************************************************************** * PUBLIC ROUTINES * *****************************************************************************/boolchareq(int8 arg1, int8 arg2){ return arg1 == arg2;}boolcharne(int8 arg1, int8 arg2){ return arg1 != arg2;}boolcharlt(int8 arg1, int8 arg2){ return (uint8) arg1 < (uint8) arg2;}boolcharle(int8 arg1, int8 arg2){ return (uint8) arg1 <= (uint8) arg2;}boolchargt(int8 arg1, int8 arg2){ return (uint8) arg1 > (uint8) arg2;}boolcharge(int8 arg1, int8 arg2){ return (uint8) arg1 >= (uint8) arg2;}int8charpl(int8 arg1, int8 arg2){ return arg1 + arg2;}int8charmi(int8 arg1, int8 arg2){ return arg1 - arg2;}int8charmul(int8 arg1, int8 arg2){ return arg1 * arg2;}int8chardiv(int8 arg1, int8 arg2){ return arg1 / arg2;}boolcideq(int8 arg1, int8 arg2){ return arg1 == arg2;}int8text_char(text *arg1){ return ((int8) *(VARDATA(arg1)));}text *char_text(int8 arg1){ text *result; result = palloc(VARHDRSZ + 1); VARSIZE(result) = VARHDRSZ + 1; *(VARDATA(result)) = arg1; return result;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -