DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T o

⟦41c1d7a62⟧ TextFile

    Length: 1453 (0x5ad)
    Types: TextFile
    Names: »okgalaxy.c«

Derivation

└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
    └─⟦this⟧ »EUUGD18/General/Galaxy/src1/okgalaxy.c« 

TextFile

/*
 * %W% (mrdch&amnnon) %E%
 */

# include <stdio.h>
# include <signal.h>
# include <sys/types.h>
# include <sys/stat.h>

struct  stat    stbuf ;
char    *tty ;

/*
 * The reason for this file is that usually there is no READ
 * permission on someone else terminal. Giving this command
 * enables the main game to read whatever is typed by the
 * second player, and interpret his commands.
 */
main()
{
        char    *ttyname() ;
        int     doexit() ;

        tty = ttyname(0) ;

        if(tty == 0)
        {
                fprintf(stderr, "Don't know you.\n") ;
                exit(1) ;
        }

/*
 * collect terminal situation in a temporary buf.
 */
        stat(tty, &stbuf) ;
/*
 * prepare for leaving the game when it's all over.
 */
        signal(SIGINT, doexit) ;
        signal(SIGQUIT, doexit) ;
        signal(SIGTSTP, doexit) ;

/*
 * try to make the terminal readable to all.
 */
        if(chmod(tty, 0666) == -1)
        {
                fprintf(stderr, "Your tty ain't yours.\n") ;
                exit(1) ;
        }

/*
 * all went fine, relax and let the originator to catch up.
 */
        printf("Please wait.....") ;
        fflush(stdout) ;

/*
 * Suspend all activity. To exit this mode after the game
 * has finished, one needs to interrupt it with a keybourd
 * signal.
 */
        pause() ;
}

/* restore terminal mode to original state. */
doexit()
{
        chmod(tty, stbuf.st_mode) ;
        exit(0) ;
}