From 3c0b688b6a9d317c9b0b74973b2f4a61210ecd7f Mon Sep 17 00:00:00 2001 From: Oliver Lehmann Date: Mon, 22 Jan 1990 13:53:00 +0000 Subject: [PATCH] ING_DB --- WEGA/contrib/ingres/dbs/src/pqr/rg_push.c | 103 ++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 WEGA/contrib/ingres/dbs/src/pqr/rg_push.c diff --git a/WEGA/contrib/ingres/dbs/src/pqr/rg_push.c b/WEGA/contrib/ingres/dbs/src/pqr/rg_push.c new file mode 100644 index 0000000..f24c1cc --- /dev/null +++ b/WEGA/contrib/ingres/dbs/src/pqr/rg_push.c @@ -0,0 +1,103 @@ +/* +** --- RG_PUSH.C ------- PUSH SYMBOL INTO STACK ----------------------------- +** +** Version: @(#)rg_push.c 4.0 02/05/89 +** +*/ + +# include +# include "rg_int.h" + + +push_str(tos, str, len) +register SYMBOL *tos; +register char *str; +register int len; +{ + register union anytype *any; + + tos->sy_frmt = CHAR; + tos->sy_frml = ctou(len); + any = &tos->sy_val; + any->cptype = str; +# ifdef RG_TRACE + if (TR_PUSH) + { + printf("PUSH-STR on %d, len=%d '", tos - Stack, len); + while (len--) + { + putchar(*str); + str++; + } + printf("'\n"); + } +# endif +} + + +push_dbl(tos, val) +register SYMBOL *tos; +double val; +{ + register union anytype *any; + + tos->sy_frmt = FLOAT; + tos->sy_frml = sizeof (double); + any = &tos->sy_val; + any->f8type = val; +# ifdef RG_TRACE + if (TR_PUSH) + printf("PUSH-DBL on %d, %10.3f\n", + tos - Stack, val); +# endif +} + + +push_bin(tos, val) +register SYMBOL *tos; +register BOOL val; +{ + register union anytype *any; + + tos->sy_frmt = BIN; + tos->sy_frml = sizeof (BOOL); + any = &tos->sy_val; + any->booltype = val; +# ifdef RG_TRACE + if (TR_PUSH) + printf("PUSH-BIN on %d, %d\n", + tos - Stack, val); +# endif +} + + +char *push_rc(tos, rc, len) +register SYMBOL *tos; +register char *rc; +register int len; +{ +# ifdef RG_TRACE + if (TR_PUSH) + printf("PUSH-RC\n"); +# endif + push_str(tos, rc, len); + return (rc + len); +} + + +push_int(tos, val) +register SYMBOL *tos; +register int val; +{ + register union anytype *any; + + tos->sy_frmt = INT; + tos->sy_frml = sizeof (short); + any = &tos->sy_val; + any->i2type = val; +# ifdef RG_TRACE + if (TR_PUSH) + printf("PUSH-INT on %d, %d\n", + tos - Stack, val); +# endif +}