ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/badarg.c
(Generate patch)

Comparing ray/src/common/badarg.c (file contents):
Revision 2.5 by greg, Fri Jun 27 06:53:21 2003 UTC vs.
Revision 2.11 by greg, Fri Mar 7 17:32:12 2014 UTC

# Line 15 | Line 15 | static const char      RCSid[] = "$Id$";
15  
16  
17   int
18 < badarg(ac, av, fl)              /* check argument list */
19 < int     ac;
20 < register char   **av;
21 < register char   *fl;
18 > badarg(         /* check argument list */
19 > int     ac,
20 > char    **av,
21 > char    *fl
22 > )
23   {
24 <        register int  i;
24 >        int     i;
25 >        char    *s;
26  
27          if (fl == NULL)
28                  fl = "";                /* no arguments? */
29          for (i = 1; *fl; i++,av++,fl++) {
30                  if (i > ac || *av == NULL)
31                          return(-1);
32 +                s = *av;
33                  switch (*fl) {
34                  case 's':               /* string */
35 <                        if (**av == '\0' || isspace(**av))
36 <                                return(i);
35 >                        while (isspace(*s))
36 >                                ++s;
37 >                        if (!isprint(*s))
38 >                                return(i);
39 >                        while (isprint(*s) | isspace(*s))
40 >                                ++s;
41 >                        if (*s)
42 >                                return(i);
43                          break;
44                  case 'i':               /* integer */
45 <                        if (!isintd(*av, " \t\r\n"))
45 >                        if (!isintd(s, " \t\r\n"))
46                                  return(i);
47                          break;
48                  case 'f':               /* float */
49 <                        if (!isfltd(*av, " \t\r\n"))
49 >                        if (!isfltd(s, " \t\r\n"))
50                                  return(i);
51                          break;
52                  default:                /* bad call! */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines