SAI || Sommersemester 1997 || Systemnahe Software II || Übungen

<- Alle Module

Lösung zu Blatt 5 (Aufgabe 6): gbmain.c

Hauptprogramm für den Gobang-Klienten.

gbmain.c

/*
 *      gbmain.c        - main program for Gobang client
 *
 *      Martin Hasch, University of Ulm, June 1997
 */

#include        <stdio.h>
#include        <stdlib.h>
#include        "gbsess.h"

static char *cmdname;                   /* first member of argv vector */

static void usage(void)
{
        fprintf(stderr, "usage: %s (-b|-w|-k) server_pid\n", cmdname);
        exit(1);
}

/*
 *      Command line processing.
 */
int main(int argc, char *argv[])
{
        SessionMode mode;
        int server;
        long arg2;
        char *tail;

        cmdname = argv[0];

        if ( argc != 3 || argv[1][0] != '-' || argv[1][2] )
                usage();
        switch ( argv[1][1] ) {
        case 'b':
                mode = CLIENT_BLACK;
                break;
        case 'w':
                mode = CLIENT_WHITE;
                break;
        case 'k':
                mode = CLIENT_KIBITZ;
                break;
        default:
                usage();
        }
        arg2 = strtol(argv[2], &tail, 10);
        if ( arg2 <= 0 || arg2 > 0x7fff || *tail )
                usage();
        server = arg2;

        session(mode, server);
        exit(0);
}
<- Alle Module
SAI || Sommersemester 1997 || Systemnahe Software II || Übungen

Martin Hasch, Juni 1997