1 /* $Id: args.c,v 1.14 2004-08-28 23:17:45 schaffner Exp $ */
3 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
4 SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
5 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
6 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
7 IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
8 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
9 FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
10 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS
11 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
12 COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
17 * Functions for accessing arguments.
26 static char rcsid[] = "$Id: args.c,v 1.14 2004-08-28 23:17:45 schaffner Exp $";
44 for (i=0; i<Num_args; i++ )
45 if (! stricmp( Args[i], s))
51 int FindResArg(char *prefix, int *sw, int *sh)
56 int prefixlen = strlen(prefix);
58 for (i = 0; i < Num_args; ++i)
59 if (Args[i][0] == '-' && !strnicmp(Args[i] + 1, prefix, prefixlen))
61 w = strtol(Args[i] + 1 + prefixlen, &endptr, 10);
62 if (w > 0 && endptr && endptr[0] == 'x')
64 h = strtol(endptr + 1, &endptr, 10);
65 if (h > 0 && endptr[0] == '\0')
81 for (i=0; i< Num_args; i++ )
85 void InitArgs( int argc,char **argv )
93 for (i=0; i<argc; i++ )
94 Args[Num_args++] = d_strdup( argv[i] );
97 for (i=0; i< Num_args; i++ ) {
98 if ( Args[i][0] == '-' )
99 strlwr( Args[i] ); // Convert all args to lowercase
101 if((i=FindArg("-ini")))
102 f = cfopen(Args[i+1], "rt");
104 f = cfopen("d2x.ini", "rt");
109 line=fgets_unlimited(f);
110 word=splitword(line,' ');
112 Args[Num_args++] = d_strdup(word);
115 Args[Num_args++] = d_strdup(line);
117 d_free(line); d_free(word);