lenny@icus.islp.ny.us (Lenny Tropiano) (10/30/89)
This program is so silly there is no makefile, instructions, just source. Compile it anyway you like... #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of shell archive." # Contents: ticker.c # Wrapped by lenny@icus on Sun Oct 29 13:42:09 1989 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f ticker.c -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"ticker.c\" else echo shar: Extracting \"ticker.c\" \(1388 characters\) sed "s/^X//" >ticker.c <<'END_OF_ticker.c' X/* X** ticker.c X** X** Very silly program that displays a line of text scrolling in a ticker-tape X** type fashion on the user-prompt line of the UNIX pc window X** X** Nothing like writing a program that is definately a resource hog! X** X** usage: ticker /dev/wN "some text to scroll" X** X** By Lenny Tropiano, ICUS Software Systems (c) 1989 10/29/89 X** This is definately public domain! :-) X** X*/ X X#include <stdio.h> X#include <sys/window.h> X#include <sys/signal.h> X Xint winfd; Xstruct utdata ut; X Xmain(argc,argv) Xint argc; Xchar *argv[]; X{ X int i; X void erase(), ticker(); X X signal(SIGINT,erase); X signal(SIGTERM,erase); X signal(SIGQUIT,erase); X X if (argc < 2) { X printf("usage: %s /dev/wN [text]\n",argv[0]); X exit(1); X } X X if ((winfd = open(argv[1], 2)) == -1) { X perror("open()"); X exit(1); X } X X ut.ut_num = WTXTPROMPT; X if (ioctl(winfd, WIOCGETTEXT, &ut) == -1) { X perror("ioctl()"); X exit(1); X } X if (argc == 3) { X sprintf(ut.ut_text,"%-80.80s",argv[2]); X while (TRUE) { X if (ioctl(winfd, WIOCSETTEXT, &ut) == -1) { X perror("ioctl()"); X exit(1); X } X ticker(ut.ut_text); X } X } X} X Xvoid ticker(string) Xchar *string; X{ X char newstr[80]; X X sprintf(newstr,"%s%c",&(string[1]),string[0]); X sprintf(string,"%-80.80s",newstr); X} X Xvoid erase() X{ X sprintf(ut.ut_text,"%-80.80s"," "); X if (ioctl(winfd, WIOCSETTEXT, &ut) == -1) { X perror("ioctl()"); X exit(1); X } X exit(0); X} END_OF_ticker.c if test 1388 -ne `wc -c <ticker.c`; then echo shar: \"ticker.c\" unpacked with wrong size! fi # end of overwriting check fi echo shar: End of shell archive. exit 0 -- | Lenny Tropiano ICUS Software Systems [w] +1 (516) 589-7930 | | lenny@icus.islp.ny.us Telex; 154232428 ICUS [h] +1 (516) 968-8576 | | {ames,pacbell,decuac,hombre,sbcs,attctc}!icus!lenny attmail!icus!lenny | +------- ICUS Software Systems -- PO Box 1; Islip Terrace, NY 11752 -------+