From 6cc0fb2beefc9ea0ab4f98356e4ef7710479bf9f Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Sat, 11 Nov 2017 21:49:02 +0000 Subject: [PATCH] utils add 'clear' Not having this was driving me slowly nuts 8) --- Applications/V7/cmd/Makefile.z80 | 16 +++++++++--- Applications/V7/cmd/clear.c | 42 ++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 4 deletions(-) create mode 100644 Applications/V7/cmd/clear.c diff --git a/Applications/V7/cmd/Makefile.z80 b/Applications/V7/cmd/Makefile.z80 index 235b93f8..b6c20dbe 100644 --- a/Applications/V7/cmd/Makefile.z80 +++ b/Applications/V7/cmd/Makefile.z80 @@ -1,7 +1,6 @@ -CC = sdcc +CC = fcc ASM = sdasz80 -AR = sdar -LINKER = sdcc +LINKER = ../../../Library/tools/fcc FCC = ../../../Library/tools/fcc FCCOPTS = -O2 PLATFORM = @@ -18,27 +17,36 @@ SRCS = ac.c accton.c at.c atrun.c col.c comm.c cron.c crypt.c dc.c dd.c \ SRCSNS = ed.c +SRCSTC = clear.c + SRCSBAD = OBJS = $(SRCS:.c=.rel) OBJSNS = $(SRCSNS:.c=.rel) +OBJSTC = $(SRCSTC:.c=.rel) OBJSBAD = $(SRCSBAD:.c=.rel) LIBS = ../../../Library/libs/syslib.lib APPSNS = $(OBJSNS:.rel=) -APPS = $(OBJS:.rel=) $(OBJSBAD:.rel=) $(OBJSNS:.rel=) +APPSTC = $(OBJSTC:.rel=) + +APPS = $(OBJS:.rel=) $(OBJSBAD:.rel=) $(OBJSNS:.rel=) $(OBJSTC:.rel=) all: $(APPS) sizes $(APPSNS): OPTS = --nostdio +$(APPSTC): OPTS = -ltermcap + $(OBJS): %.rel: %.c $(OBJSNS): %.rel: %.c +$(OBJSTC): %.rel: %.c + $(OBJSBAD): %.rel: %.c $(FCC) $(PLATFORM) -c $< diff --git a/Applications/V7/cmd/clear.c b/Applications/V7/cmd/clear.c new file mode 100644 index 00000000..b941ef7b --- /dev/null +++ b/Applications/V7/cmd/clear.c @@ -0,0 +1,42 @@ +static char *sccsid = "@(#)clear.c 4.1 (Berkeley) 10/1/80"; +/* load me with -ltermlib */ +/* #include on version 6 */ +/* + * clear - clear the screen + */ + +#include +#include +#include + +char PC; + +int tputchar(int c) +{ + putchar(c); + return 0; +} + +int main(int argc, char *argv[]) +{ + char *cp = getenv("TERM"); + char clbuf[20]; + char pcbuf[20]; + char *clbp = clbuf; + char *pcbp = pcbuf; + char *clear; + char buf[1024]; + char *pc; + + if (cp == (char *) 0) + exit(1); + if (tgetent(buf, cp) != 1) + exit(1); + pc = tgetstr("pc", &pcbp); + if (pc) + PC = *pc; + clear = tgetstr("cl", &clbp); + if (clear) + tputs(clear, tgetnum("li"), tputchar); + exit (clear != (char *) 0); +} -- 2.34.1