From 1392520bfffc1a39341f443934d3c040f5eef609 Mon Sep 17 00:00:00 2001 From: Oliver Lehmann Date: Mon, 22 Jan 1990 15:47:20 +0000 Subject: [PATCH] ING_DB --- WEGA/contrib/ingres/dbs/src/pqr/rc_rep.c | 85 ++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 WEGA/contrib/ingres/dbs/src/pqr/rc_rep.c diff --git a/WEGA/contrib/ingres/dbs/src/pqr/rc_rep.c b/WEGA/contrib/ingres/dbs/src/pqr/rc_rep.c new file mode 100644 index 0000000..fa5eb8c --- /dev/null +++ b/WEGA/contrib/ingres/dbs/src/pqr/rc_rep.c @@ -0,0 +1,85 @@ +/* +** --- RC_REP.C -------- REPORT OUTPUT -------------------------------------- +** +** Version: @(#)rc_rep.c 4.0 02/05/89 +** +*/ + +# include "rc.h" +# ifdef MSDOS +# include +# endif + +# undef FILEMODE +# define FILEMODE 0644 + + +rc_report(file) +char *file; +{ + register int fd; + register int len; + register char *name; + +# ifndef RC_TRACE + if (S_error || Compile == FALSE) + return; +# endif + + S_name = name = Oflag? "r_code": file; + + if ((fd = creat(name, FILEMODE)) < 0) + { + rc_error(4, name); + return; + } +# ifdef MSDOS + setmode(fd, O_BINARY); +# endif + len = R_rc - R_code; +# ifdef RC_TRACE + if (TR_OUTPUT) +# ifdef MSDOS + printf("REPORT `%s': write from %Fp to %Fp, len %d\n", +# else + printf("REPORT `%s': write from %08x to %08x, len %d\n", +# endif + name, R_code, R_rc, len); +# endif + len = write(fd, R_res, sizeof R_res - 1) != sizeof R_res - 1 + || write(fd, (char *) &R_cols, sizeof (int)) != sizeof (int) + || write(fd, (char *) &R_lines, sizeof (int)) != sizeof (int) + || write(fd, (char *) &R_all_lines, sizeof (int)) != sizeof (int) + || write(fd, (char *) &R_for_all, sizeof (int)) != sizeof (int) + || write(fd, (char *) &R_first_page, sizeof (int)) != sizeof (int) + || write(fd, (char *) &R_last_page, sizeof (int)) != sizeof (int) + || write(fd, (char *) &R_from_tuple, sizeof (int)) != sizeof (int) + || write(fd, (char *) &R_to_tuple, sizeof (int)) != sizeof (int) + || write(fd, R_code, len) != len; + close(fd); + if (len) + rc_error(5, name); + + if (Doms) + { + if (!(name = S_desc)) + return; + if ((fd = creat(name, FILEMODE)) < 0) + { + rc_error(4, name); + return; + } +# ifdef MSDOS + setmode(fd, O_BINARY); +# endif + len = Doms * (2 * sizeof (char) + sizeof (short)); +# ifdef RC_TRACE + if (TR_OUTPUT) + printf("REPORT `%s': write %d doms, len %d\n", name, Doms, len); +# endif + len = write(fd, Desc, len) != len; + close(fd); + if (len) + rc_error(5, name); + } +}