File: main.c

package info (click to toggle)
spider 1.1-9
  • links: PTS
  • area: main
  • in suites: woody
  • size: 644 kB
  • ctags: 1,043
  • sloc: ansic: 6,251; makefile: 609; sh: 15
file content (88 lines) | stat: -rw-r--r-- 1,565 bytes parent folder | download | duplicates (4)
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
}