| 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 |
|
|
| 104 |
|
int argc; |
| 105 |
|
char *argv[]; |
| 106 |
|
{ |
| 107 |
+ |
int got_meridian = 0; |
| 108 |
|
int i; |
| 109 |
|
|
| 110 |
|
progname = argv[0]; |
| 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] == '+') |
| 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: |
| 375 |
|
} |
| 376 |
|
|
| 377 |
|
|
| 378 |
< |
void |
| 378 |
> |
int |
| 379 |
|
cvthour( /* convert hour string */ |
| 380 |
|
char *hs |
| 381 |
|
) |
| 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); |
| 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 |
|
|