1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
/*
* Spider
*
* (c) Copyright 1989, Donald R. Woods and Sun Microsystems, Inc.
* (c) Copyright 1990, David Lemke and Network Computing Devices Inc.
*
* See copyright.h for the terms of the copyright.
*
* @(#)main.c 2.1 90/04/25
*
*/
/*
* Spider solitaire
*/
#include "defs.h"
#include "globals.h"
static char *display = NULL;
extern char *getenv();
static void
usage(arg)
char *arg;
{
if (arg)
(void) fprintf(stderr,"spider: illegal argument %s\n", arg);
(void) fprintf(stderr,
"usage: -display <display> -geometry < geometry> -save <save_file>\n");
}
main(argc, argv)
int argc;
char **argv;
{
int i;
char *save_file = NULL;
char *geometry = NULL;
/* argument processing */
/* display, save file */
for (i = 1; i < argc; i++) {
if (strncmp(argv[i], "-d", 2) == 0) {
display = argv[++i];
} else if (strncmp(argv[i], "-g", 2) == 0) {
if (argv[i+1]) {
geometry = argv[++i];
} else {
usage(NULL);
exit(-1);
}
} else if (strncmp(argv[i], "-s", 2) == 0) {
if (argv[i+1]) {
save_file = argv[++i];
} else {
usage(NULL);
exit(-1);
}
} else {
usage(argv[i]);
exit(-1);
}
}
display_init();
gfx_init(dpy, screen);
window_init(argc, argv, geometry);
card_init();
if (save_file)
read_file(save_file);
event_loop();
exit(0);
}
display_init()
{
if ((dpy = XOpenDisplay(display)) == NULL) {
(void) fprintf(stderr,"Can't open display %s\n",
(display ? display : getenv("DISPLAY")));
exit(-1);
}
screen = DefaultScreen(dpy);
#ifdef DEBUG
XSynchronize(dpy, True);
#endif
}
|