From 8e1c738c99dfc517598054daa296d0a560fd951b Mon Sep 17 00:00:00 2001 From: danw Date: Wed, 29 Jan 1997 23:03:24 +0000 Subject: [PATCH] Get X/Motif library locations from config.Imakefile #include instead of extern char *malloc(); POSIXification in tty.c from the sipb-athena port --- clients/mmoira/Imakefile | 13 +++---------- clients/mmoira/form_setup.c | 2 +- clients/mmoira/tty.c | 27 ++++++++++++++++++++++++--- 3 files changed, 28 insertions(+), 14 deletions(-) diff --git a/clients/mmoira/Imakefile b/clients/mmoira/Imakefile index e7ce891e..aeae4ec5 100644 --- a/clients/mmoira/Imakefile +++ b/clients/mmoira/Imakefile @@ -8,12 +8,6 @@ # Imakefile for moira client. # -#ifdef GDSS -GDSSLIB = /mit/gdss/`machtype`/libgdss.a -GDSSINC = -I/mit/gdss/include -#endif - - SRCS= main.c formup.c form_setup.c \ queries.c help.c stubs.c display.c tty.c parser.c CODE=${SRCS} Imakefile mmoira.h data.h menus.txt menus.awk forms.txt \ @@ -21,12 +15,11 @@ CODE=${SRCS} Imakefile mmoira.h data.h menus.txt menus.awk forms.txt \ SRCDIR=${SRCTOP}/clients/mmoira OBJS = form_data.o form_setup.o menu_data.o main.o formup.o \ queries.o help.o stubs.o display.o tty.o parser.o -MOTIF = /mit/motif -INCLUDE= -I$(BUILDTOP)/include -I$(BUILDTOP)/lib -I$(MOTIF)/include \ - -I/usr/athena/include ${GDSSINC} -I. +INCLUDE= -I$(BUILDTOP)/include -I$(BUILDTOP)/lib -I$(XDIR)/include \ + -I$(MOTIFINC) -I/usr/athena/include ${GDSSINC} -I. DEFINES= -D_NO_PROTO -program(mmoira, ${OBJS},${MR_LIBDEP} ${GDB_LIBDEP},${GDSSLIB} ${CLIBS} -L$(MOTIF)/`machtype`lib -lXm -lXt -lX11,${PROGDIR}) +program(mmoira, ${OBJS},${MR_LIBDEP} ${GDB_LIBDEP},${LIBGDSS} ${CLIBS} -L$(XDIR)/lib -L$(MOTIFLIB) -lXm -lXt -lX11,${PROGDIR}) form_data.c: forms.txt forms.awk awk -f forms.awk forms.txt > form_data.c diff --git a/clients/mmoira/form_setup.c b/clients/mmoira/form_setup.c index 07474e0c..d5f3f29f 100644 --- a/clients/mmoira/form_setup.c +++ b/clients/mmoira/form_setup.c @@ -2,6 +2,7 @@ */ #include +#include #include #include #include @@ -98,7 +99,6 @@ char **argv; char ***info; { int i; - char *malloc(); *info = (char **)malloc((argc + 1) * sizeof(char *)); for (i = 0; i < argc; i++) diff --git a/clients/mmoira/tty.c b/clients/mmoira/tty.c index a91dba24..d8ddee73 100644 --- a/clients/mmoira/tty.c +++ b/clients/mmoira/tty.c @@ -11,7 +11,11 @@ #include #include #include +#ifdef POSIX +#include +#else #include +#endif #include #include #include @@ -28,8 +32,11 @@ extern int NumMenus; extern MenuItem MenuRoot; char prompt[] = "moira> "; +#ifdef POSIX +static struct termios otty, ntty; +#else static struct sgttyb otty, ntty; - +#endif TtyMainLoop() { @@ -45,13 +52,19 @@ TtyMainLoop() sleep(10); #endif /* DEBUG */ -#ifndef POSIX +#ifdef POSIX + tcgetattr(0, &otty); + ntty = otty; + ntty.c_lflag &= ~(ICANON|ECHO); + ntty.c_cc[VTIME] = 0; + ntty.c_cc[VMIN] = 1; +#else ioctl(0, TIOCFLUSH, &arg); -#endif ioctl(0, TIOCGETP, &otty); ntty = otty; ntty.sg_flags |= RAW; ntty.sg_flags &= ~ECHO; +#endif raw_mode(); while (1) { @@ -61,12 +74,20 @@ TtyMainLoop() cooked_mode() { +#ifdef POSIX + tcsetattr (0, TCSANOW, &otty); +#else ioctl(0, TIOCSETP, &otty); +#endif } raw_mode() { +#ifdef POSIX + tcsetattr (0, TCSANOW, &ntty); +#else ioctl(0, TIOCSETP, &ntty); +#endif } static NumWords(s) -- 2.45.2