From: Todd C. Miller Date: Mon, 14 Jun 2010 14:57:23 +0000 (-0400) Subject: Quiet a compiler warning. X-Git-Tag: SUDO_1_7_3~76 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=056637491a8f13fdd987f79ea4e6e91d248362df;p=sudo Quiet a compiler warning. --HG-- branch : 1.7 --- diff --git a/getdate.c b/getdate.c index a2711ccd4..ab0f4fa71 100644 --- a/getdate.c +++ b/getdate.c @@ -918,45 +918,41 @@ time_t get_date(p) char *p; { - struct tm *tm, gmt; + struct tm *tm, *gmt, gmtbuf; time_t Start; time_t tod; time_t now; time_t timezone; yyInput = p; - { - struct tm *gmt_ptr; - /* XXX - eliminate timeb */ + (void)time (&now); - (void)time (&now); + gmt = gmtime (&now); + if (gmt != NULL) + { + /* Make a copy, in case localtime modifies *tm (I think + that comment now applies to *gmt, but I am too + lazy to dig into how gmtime and locatime allocate the + structures they return pointers to). */ + gmtbuf = *gmt; + gmt = &gmtbuf; + } - gmt_ptr = gmtime (&now); - if (gmt_ptr != NULL) - { - /* Make a copy, in case localtime modifies *tm (I think - that comment now applies to *gmt_ptr, but I am too - lazy to dig into how gmtime and locatime allocate the - structures they return pointers to). */ - gmt = *gmt_ptr; - } + if (! (tm = localtime (&now))) + return -1; - if (! (tm = localtime (&now))) - return -1; + if (gmt != NULL) + timezone = difftm (gmt, tm) / 60; + else + /* We are on a system like VMS, where the system clock is + in local time and the system has no concept of timezones. + Hopefully we can fake this out (for the case in which the + user specifies no timezone) by just saying the timezone + is zero. */ + timezone = 0; - if (gmt_ptr != NULL) - timezone = difftm (&gmt, tm) / 60; - else - /* We are on a system like VMS, where the system clock is - in local time and the system has no concept of timezones. - Hopefully we can fake this out (for the case in which the - user specifies no timezone) by just saying the timezone - is zero. */ - timezone = 0; - - if(tm->tm_isdst) - timezone += 60; - } + if(tm->tm_isdst) + timezone += 60; tm = localtime(&now); yyYear = tm->tm_year + 1900; @@ -1020,7 +1016,7 @@ main(ac, av) (void)printf("Enter date, or blank line to exit.\n\t> "); (void)fflush(stdout); while (gets(buff) && buff[0]) { - d = get_date(buff, (struct timeb *)NULL); + d = get_date(buff); if (d == -1) (void)printf("Bad format - couldn't convert.\n"); else @@ -1032,7 +1028,7 @@ main(ac, av) /* NOTREACHED */ } #endif /* defined(TEST) */ -#line 984 "y.tab.c" +#line 980 "y.tab.c" /* allocate initial stack or double stack size, up to YYMAXDEPTH */ #if defined(__cplusplus) || defined(__STDC__) static int yygrowstack(void) @@ -1527,7 +1523,7 @@ case 41: yyval.Meridian = yyvsp[0].Meridian; } break; -#line 1479 "y.tab.c" +#line 1475 "y.tab.c" } yyssp -= yym; yystate = *yyssp; diff --git a/getdate.y b/getdate.y index af067f592..1521edde4 100644 --- a/getdate.y +++ b/getdate.y @@ -851,45 +851,41 @@ time_t get_date(p) char *p; { - struct tm *tm, gmt; + struct tm *tm, *gmt, gmtbuf; time_t Start; time_t tod; time_t now; time_t timezone; yyInput = p; - { - struct tm *gmt_ptr; - /* XXX - eliminate timeb */ + (void)time (&now); - (void)time (&now); + gmt = gmtime (&now); + if (gmt != NULL) + { + /* Make a copy, in case localtime modifies *tm (I think + that comment now applies to *gmt, but I am too + lazy to dig into how gmtime and locatime allocate the + structures they return pointers to). */ + gmtbuf = *gmt; + gmt = &gmtbuf; + } - gmt_ptr = gmtime (&now); - if (gmt_ptr != NULL) - { - /* Make a copy, in case localtime modifies *tm (I think - that comment now applies to *gmt_ptr, but I am too - lazy to dig into how gmtime and locatime allocate the - structures they return pointers to). */ - gmt = *gmt_ptr; - } + if (! (tm = localtime (&now))) + return -1; - if (! (tm = localtime (&now))) - return -1; + if (gmt != NULL) + timezone = difftm (gmt, tm) / 60; + else + /* We are on a system like VMS, where the system clock is + in local time and the system has no concept of timezones. + Hopefully we can fake this out (for the case in which the + user specifies no timezone) by just saying the timezone + is zero. */ + timezone = 0; - if (gmt_ptr != NULL) - timezone = difftm (&gmt, tm) / 60; - else - /* We are on a system like VMS, where the system clock is - in local time and the system has no concept of timezones. - Hopefully we can fake this out (for the case in which the - user specifies no timezone) by just saying the timezone - is zero. */ - timezone = 0; - - if(tm->tm_isdst) - timezone += 60; - } + if(tm->tm_isdst) + timezone += 60; tm = localtime(&now); yyYear = tm->tm_year + 1900; @@ -953,7 +949,7 @@ main(ac, av) (void)printf("Enter date, or blank line to exit.\n\t> "); (void)fflush(stdout); while (gets(buff) && buff[0]) { - d = get_date(buff, (struct timeb *)NULL); + d = get_date(buff); if (d == -1) (void)printf("Bad format - couldn't convert.\n"); else