aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Griebl <griebl@gmx.de>2004-03-22 21:27:39 +0000
committerRobert Griebl <griebl@gmx.de>2004-03-22 21:27:39 +0000
commit6bb80870b839cc812d55b28f886bf3e001e4a00e (patch)
treeb1f392198ae0c497b121a4d47579a3be50512225
parentc8685ead5770b55d66c01df5bc3fe26053caea54 (diff)
downloadbusybox-w32-6bb80870b839cc812d55b28f886bf3e001e4a00e.tar.gz
busybox-w32-6bb80870b839cc812d55b28f886bf3e001e4a00e.tar.bz2
busybox-w32-6bb80870b839cc812d55b28f886bf3e001e4a00e.zip
Some corrections from vodz:
- Make -u/-l mutually exclusive - Minor size reduction
-rw-r--r--util-linux/hwclock.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/util-linux/hwclock.c b/util-linux/hwclock.c
index cf631131b..1f30ff498 100644
--- a/util-linux/hwclock.c
+++ b/util-linux/hwclock.c
@@ -191,7 +191,7 @@ static int check_utc(void)
191extern int hwclock_main ( int argc, char **argv ) 191extern int hwclock_main ( int argc, char **argv )
192{ 192{
193 unsigned long opt; 193 unsigned long opt;
194 int utc = 0; 194 int utc;
195 195
196#ifdef CONFIG_FEATURE_HWCLOCK_LONGOPTIONS 196#ifdef CONFIG_FEATURE_HWCLOCK_LONGOPTIONS
197static const struct option hwclock_long_options[] = { 197static const struct option hwclock_long_options[] = {
@@ -205,23 +205,18 @@ static const struct option hwclock_long_options[] = {
205 bb_applet_long_options = hwclock_long_options; 205 bb_applet_long_options = hwclock_long_options;
206#endif 206#endif
207 207
208 bb_opt_complementaly = "r~ws:w~rs:s~wr"; 208 bb_opt_complementaly = "r~ws:w~rs:s~wr:l~u:u~l";
209 opt = bb_getopt_ulflags(argc, argv, "lursw"); 209 opt = bb_getopt_ulflags(argc, argv, "lursw");
210 /* Check only one mode was given */ 210 /* Check only one mode was given */
211 if(opt & 0x80000000UL) { 211 if(opt & 0x80000000UL) {
212 bb_show_usage(); 212 bb_show_usage();
213 } 213 }
214 214
215 /* If -u or -l wasnt give check if we are using utc */ 215 /* If -u or -l wasn't given check if we are using utc */
216 if (opt & HWCLOCK_OPT_UTC) { 216 if (opt & (HWCLOCK_OPT_UTC | HWCLOCK_OPT_LOCALTIME))
217 utc = 1; 217 utc = opt & HWCLOCK_OPT_UTC;
218 } 218 else
219 else if (opt & HWCLOCK_OPT_LOCALTIME) {
220 utc = 0;
221 }
222 else {
223 utc = check_utc(); 219 utc = check_utc();
224 }
225 220
226 if (opt & HWCLOCK_OPT_HCTOSYS) { 221 if (opt & HWCLOCK_OPT_HCTOSYS) {
227 return to_sys_clock ( utc ); 222 return to_sys_clock ( utc );