ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/badarg.c
Revision: 1.1
Committed: Thu Nov 7 11:03:34 1991 UTC (32 years, 5 months ago) by greg
Content type: text/plain
Branch: MAIN
Log Message:
Initial revision

File Contents

# User Rev Content
1 greg 1.1 /* Copyright (c) 1991 Regents of the University of California */
2    
3     #ifndef lint
4     static char SCCSid[] = "$SunId$ LBL";
5     #endif
6    
7     /*
8     * Check argument list against format string.
9     */
10    
11     #define NULL 0
12    
13     int
14     badarg(ac, av, fl) /* check argument list */
15     int ac;
16     register char **av;
17     register char *fl;
18     {
19     register int i;
20    
21     if (fl == NULL)
22     fl = ""; /* no arguments? */
23     for (i = 1; *fl; i++,av++,fl++) {
24     if (i > ac || *av == NULL)
25     return(-1);
26     switch (*fl) {
27     case 's': /* string */
28     if (**av == '\0' || **av == ' ' || **av == '\t')
29     return(i);
30     break;
31     case 'i': /* integer */
32     if (!isintd(*av, " \t"))
33     return(i);
34     break;
35     case 'f': /* float */
36     if (!isfltd(*av, " \t"))
37     return(i);
38     break;
39     default: /* bad call! */
40     return(-1);
41     }
42     }
43     return(0); /* all's well */
44     }