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

Comparing ray/src/gen/gensky.c (file contents):
Revision 2.22 by schorsch, Sun Nov 16 10:29:38 2003 UTC vs.
Revision 2.23 by greg, Fri Sep 10 18:19:24 2004 UTC

# Line 95 | Line 95 | void printsky(void);
95   void printdefaults(void);
96   void userror(char  *msg);
97   double normsc(void);
98 < void cvthour(char  *hs);
98 > int cvthour(char  *hs);
99   void printhead(register int  ac, register char  **av);
100  
101  
# Line 104 | Line 104 | main(argc, argv)
104   int  argc;
105   char  *argv[];
106   {
107 +        int  got_meridian = 0;
108          int  i;
109  
110          progname = argv[0];
# Line 124 | Line 125 | char  *argv[];
125                  day = atoi(argv[2]);
126                  if (day < 1 || day > 31)
127                          userror("bad day");
128 <                cvthour(argv[3]);
128 >                got_meridian = cvthour(argv[3]);
129          }
130          for (i = 4; i < argc; i++)
131                  if (argv[i][0] == '-' || argv[i][0] == '+')
# Line 166 | Line 167 | char  *argv[];
167                                  s_longitude = atof(argv[++i]) * (PI/180);
168                                  break;
169                          case 'm':
170 +                                if (got_meridian) {
171 +                                        ++i;
172 +                                        break;          /* time overrides */
173 +                                }
174                                  s_meridian = atof(argv[++i]) * (PI/180);
175                                  break;
176                          default:
# Line 370 | Line 375 | normsc(void)                   /* compute normalization factor (E0*F2/
375   }
376  
377  
378 < void
378 > int
379   cvthour(                        /* convert hour string */
380          char  *hs
381   )
# Line 388 | Line 393 | cvthour(                       /* convert hour string */
393          }
394          while (isdigit(*cp)) cp++;
395          if (!*cp)
396 <                return;
396 >                return(0);
397          if (tsolar || !isalpha(*cp)) {
398                  fprintf(stderr, "%s: bad time format: %s\n", progname, hs);
399                  exit(1);
# Line 400 | Line 405 | cvthour(                       /* convert hour string */
405                                  break;
406                  if (!cp[j] && !tzone[i].zname[j]) {
407                          s_meridian = tzone[i].zmer * (PI/180);
408 <                        return;
408 >                        return(1);
409                  }
410          } while (tzone[i++].zname[0]);
411  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines