diff options
-rw-r--r-- | util-linux/hwclock.c | 31 |
1 files changed, 10 insertions, 21 deletions
diff --git a/util-linux/hwclock.c b/util-linux/hwclock.c index 126caf6be..5992d8420 100644 --- a/util-linux/hwclock.c +++ b/util-linux/hwclock.c @@ -4,20 +4,7 @@ * * Copyright (C) 2002 Robert Griebl <griebl@gmx.de> * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * + * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. */ @@ -70,7 +57,7 @@ static time_t read_rtc(int utc) memset ( &tm, 0, sizeof( struct tm )); if ( ioctl ( rtc, RTC_RD_TIME, &tm ) < 0 ) bb_perror_msg_and_die ( "Could not read time from RTC" ); - tm. tm_isdst = -1; // not known + tm.tm_isdst = -1; /* not known */ close ( rtc ); @@ -103,7 +90,7 @@ static void write_rtc(time_t t, int utc) } tm = *( utc ? gmtime ( &t ) : localtime ( &t )); - tm. tm_isdst = 0; + tm.tm_isdst = 0; if ( ioctl ( rtc, RTC_SET_TIME, &tm ) < 0 ) bb_perror_msg_and_die ( "Could not set the RTC time" ); @@ -115,17 +102,18 @@ static int show_clock(int utc) { struct tm *ptm; time_t t; - char buffer [64]; + RESERVE_CONFIG_BUFFER(buffer, 64); t = read_rtc ( utc ); ptm = localtime ( &t ); /* Sets 'tzname[]' */ - safe_strncpy ( buffer, ctime ( &t ), sizeof( buffer )); + safe_strncpy ( buffer, ctime ( &t ), 64); if ( buffer [0] ) buffer [bb_strlen ( buffer ) - 1] = 0; //printf ( "%s %.6f seconds %s\n", buffer, 0.0, utc ? "" : ( ptm-> tm_isdst ? tzname [1] : tzname [0] )); printf ( "%s %.6f seconds\n", buffer, 0.0 ); + RELEASE_CONFIG_BUFFER(buffer); return 0; } @@ -135,7 +123,7 @@ static int to_sys_clock(int utc) struct timeval tv = { 0, 0 }; const struct timezone tz = { timezone/60 - 60*daylight, 0 }; - tv. tv_sec = read_rtc ( utc ); + tv.tv_sec = read_rtc ( utc ); if ( settimeofday ( &tv, &tz )) bb_perror_msg_and_die ( "settimeofday() failed" ); @@ -151,7 +139,7 @@ static int from_sys_clock(int utc) if ( gettimeofday ( &tv, &tz )) bb_perror_msg_and_die ( "gettimeofday() failed" ); - write_rtc ( tv. tv_sec, utc ); + write_rtc ( tv.tv_sec, utc ); return 0; } @@ -166,7 +154,7 @@ static int check_utc(void) FILE *f = fopen ( ADJTIME_PATH, "r" ); if ( f ) { - char buffer [128]; + RESERVE_CONFIG_BUFFER(buffer, 128); while ( fgets ( buffer, sizeof( buffer ), f )) { int len = bb_strlen ( buffer ); @@ -182,6 +170,7 @@ static int check_utc(void) } } fclose ( f ); + RELEASE_CONFIG_BUFFER(buffer); } return utc; } |