diff options
author | Rob Landley <rob@landley.net> | 2006-05-08 15:35:46 +0000 |
---|---|---|
committer | Rob Landley <rob@landley.net> | 2006-05-08 15:35:46 +0000 |
commit | 19802563ed14d75674ba863ee2b5ec29df539abb (patch) | |
tree | 34e9dadec958a0e853d10f1a38593285f0228de8 | |
parent | 0ea0aefcb5cf4e0a589bda0b0b78a1c39f5f9c10 (diff) | |
download | busybox-w32-19802563ed14d75674ba863ee2b5ec29df539abb.tar.gz busybox-w32-19802563ed14d75674ba863ee2b5ec29df539abb.tar.bz2 busybox-w32-19802563ed14d75674ba863ee2b5ec29df539abb.zip |
The if() is cheaper than the extra function parameter. According to make
bloatcheck, this saves 112 bytes on x86...
-rw-r--r-- | miscutils/hdparm.c | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/miscutils/hdparm.c b/miscutils/hdparm.c index e099c2be4..3c0bcc9e9 100644 --- a/miscutils/hdparm.c +++ b/miscutils/hdparm.c | |||
@@ -2298,9 +2298,8 @@ static void identify_from_stdin(void) | |||
2298 | #endif | 2298 | #endif |
2299 | 2299 | ||
2300 | /* busybox specific stuff */ | 2300 | /* busybox specific stuff */ |
2301 | static void parse_opts(int flag, unsigned long *get, unsigned long *set, unsigned long *value, int min, int max) | 2301 | static void parse_opts(unsigned long *get, unsigned long *set, unsigned long *value, int min, int max) |
2302 | { | 2302 | { |
2303 | if (flag) { | ||
2304 | /* noisy is a global var */ | 2303 | /* noisy is a global var */ |
2305 | if (get) { /* *get is initialized to 0 */ | 2304 | if (get) { /* *get is initialized to 0 */ |
2306 | *get = noisy; | 2305 | *get = noisy; |
@@ -2310,7 +2309,6 @@ static void parse_opts(int flag, unsigned long *get, unsigned long *set, unsigne | |||
2310 | *set = 1; | 2309 | *set = 1; |
2311 | *value = bb_xgetlarg(optarg, 10, min, max); | 2310 | *value = bb_xgetlarg(optarg, 10, min, max); |
2312 | } | 2311 | } |
2313 | } | ||
2314 | } | 2312 | } |
2315 | 2313 | ||
2316 | #ifdef HDIO_DRIVE_CMD | 2314 | #ifdef HDIO_DRIVE_CMD |
@@ -2397,47 +2395,49 @@ int hdparm_main(int argc, char **argv) | |||
2397 | quiet = 1; | 2395 | quiet = 1; |
2398 | noisy = 0; | 2396 | noisy = 0; |
2399 | } | 2397 | } |
2400 | parse_opts((c == 'u'), &get_unmask, &set_unmask, &unmask, 0, 1); | 2398 | if (c == 'u') parse_opts(&get_unmask, &set_unmask, &unmask, 0, 1); |
2401 | USE_FEATURE_HDPARM_HDIO_GETSET_DMA(parse_opts((c == 'd'), &get_dma, &set_dma, &dma, 0, 9)); | 2399 | USE_FEATURE_HDPARM_HDIO_GETSET_DMA(if (c == 'd') parse_opts(&get_dma, &set_dma, &dma, 0, 9)); |
2402 | parse_opts((c == 'n'), &get_nowerr, &set_nowerr, &nowerr, 0, 1); | 2400 | if (c == 'n') parse_opts(&get_nowerr, &set_nowerr, &nowerr, 0, 1); |
2403 | parse_opts_v3((c == 'p'), &noisy_piomode, &set_piomode, &piomode); | 2401 | parse_opts_v3((c == 'p'),&noisy_piomode, &set_piomode, &piomode); |
2404 | parse_opts((c == 'r'), &get_readonly, &set_readonly, &readonly, 0, 1); | 2402 | if (c == 'r') parse_opts(&get_readonly, &set_readonly, &readonly, 0, 1); |
2405 | parse_opts((c == 'm'), &get_mult, &set_mult, &mult, 0, INT_MAX /*32*/); | 2403 | if (c == 'm') parse_opts(&get_mult, &set_mult, &mult, 0, INT_MAX /*32*/); |
2406 | parse_opts((c == 'c'), &get_io32bit, &set_io32bit, &io32bit, 0, INT_MAX /*8*/); | 2404 | if (c == 'c') parse_opts(&get_io32bit, &set_io32bit, &io32bit, 0, INT_MAX /*8*/); |
2407 | parse_opts((c == 'k'), &get_keep, &set_keep, &keep, 0, 1); | 2405 | if (c == 'k') parse_opts(&get_keep, &set_keep, &keep, 0, 1); |
2408 | parse_opts((c == 'a'), &get_readahead, &set_readahead, &Xreadahead, 0, INT_MAX); | 2406 | if (c == 'a') parse_opts(&get_readahead, &set_readahead, &Xreadahead, 0, INT_MAX); |
2409 | parse_opts((c == 'B'), &get_apmmode, &set_apmmode, &apmmode, 1, 255); | 2407 | if (c == 'B') parse_opts(&get_apmmode, &set_apmmode, &apmmode, 1, 255); |
2410 | do_flush |= do_timings = (c == 't'); | 2408 | do_flush |= do_timings = (c == 't'); |
2411 | do_flush |= do_ctimings = (c == 'T'); | 2409 | do_flush |= do_ctimings = (c == 'T'); |
2412 | #ifdef HDIO_DRIVE_CMD | 2410 | #ifdef HDIO_DRIVE_CMD |
2413 | parse_opts((c == 'S'), &get_standby, &set_standby, &standby_requested, 0, INT_MAX); | 2411 | if (c == 'S') parse_opts(&get_standby, &set_standby, &standby_requested, 0, INT_MAX); |
2414 | parse_opts((c == 'D'), &get_defects, &set_defects, &defects, 0, INT_MAX); | 2412 | if (c == 'D') parse_opts(&get_defects, &set_defects, &defects, 0, INT_MAX); |
2415 | parse_opts((c == 'P'), &get_prefetch, &set_prefetch, &prefetch, 0, INT_MAX); | 2413 | if (c == 'P') parse_opts(&get_prefetch, &set_prefetch, &prefetch, 0, INT_MAX); |
2416 | parse_opts_v3((c == 'X'), &get_xfermode, &set_xfermode, &xfermode_requested); | 2414 | parse_opts_v3((c == 'X'), &get_xfermode, &set_xfermode, &xfermode_requested); |
2417 | parse_opts((c == 'K'), &get_dkeep, &set_dkeep, &prefetch, 0, 1); | 2415 | if (c == 'K') parse_opts(&get_dkeep, &set_dkeep, &prefetch, 0, 1); |
2418 | parse_opts((c == 'A'), &get_lookahead, &set_lookahead, &lookahead, 0, 1); | 2416 | if (c == 'A') parse_opts(&get_lookahead, &set_lookahead, &lookahead, 0, 1); |
2419 | parse_opts((c == 'L'), &get_doorlock, &set_doorlock, &doorlock, 0, 1); | 2417 | if (c == 'L') parse_opts(&get_doorlock, &set_doorlock, &doorlock, 0, 1); |
2420 | parse_opts((c == 'W'), &get_wcache, &set_wcache, &wcache, 0, 1); | 2418 | if (c == 'W') parse_opts(&get_wcache, &set_wcache, &wcache, 0, 1); |
2421 | parse_opts_v3((c == 'C'), &get_powermode, NULL, NULL); | 2419 | parse_opts_v3((c == 'C'), &get_powermode, NULL, NULL); |
2422 | parse_opts_v2((c == 'y'), &get_standbynow, &set_standbynow); | 2420 | parse_opts_v2((c == 'y'), &get_standbynow, &set_standbynow); |
2423 | parse_opts_v2((c == 'Y'), &get_sleepnow, &set_sleepnow); | 2421 | parse_opts_v2((c == 'Y'), &get_sleepnow, &set_sleepnow); |
2424 | reread_partn = (c == 'z'); | 2422 | reread_partn = (c == 'z'); |
2425 | parse_opts_v2((c == 'Z'), &get_seagate, &set_seagate); | 2423 | parse_opts_v2((c == 'Z'), &get_seagate, &set_seagate); |
2426 | #endif | 2424 | #endif |
2427 | USE_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF(parse_opts((c == 'U'), NULL, &unregister_hwif, &hwif, 0, INT_MAX)); | 2425 | USE_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF(if (c == 'U') parse_opts(NULL, &unregister_hwif, &hwif, 0, INT_MAX)); |
2428 | #ifdef HDIO_GET_QDMA | 2426 | #ifdef HDIO_GET_QDMA |
2427 | if (c == 'Q') { | ||
2429 | #ifdef HDIO_SET_QDMA | 2428 | #ifdef HDIO_SET_QDMA |
2430 | parse_opts((c == 'Q'), &get_dma_q, &set_dma_q, &dma_q, 0, INT_MAX); | 2429 | parse_opts(&get_dma_q, &set_dma_q, &dma_q, 0, INT_MAX); |
2431 | #else | 2430 | #else |
2432 | parse_opts((c == 'Q'), &get_dma_q, NULL, NULL, 0, 0); | 2431 | parse_opts(&get_dma_q, NULL, NULL, 0, 0); |
2433 | #endif | 2432 | #endif |
2433 | } | ||
2434 | #endif | 2434 | #endif |
2435 | USE_FEATURE_HDPARM_HDIO_DRIVE_RESET( perform_reset = (c == 'r')); | 2435 | USE_FEATURE_HDPARM_HDIO_DRIVE_RESET( perform_reset = (c == 'r')); |
2436 | USE_FEATURE_HDPARM_HDIO_TRISTATE_HWIF(parse_opts((c == 'x'), NULL, &perform_tristate, &tristate, 0, 1)); | 2436 | USE_FEATURE_HDPARM_HDIO_TRISTATE_HWIF(if (c == 'x') parse_opts(NULL, &perform_tristate, &tristate, 0, 1)); |
2437 | USE_FEATURE_HDPARM_HDIO_TRISTATE_HWIF(parse_opts((c == 'b'), &get_busstate, &set_busstate, &busstate, 0, 2)); | 2437 | USE_FEATURE_HDPARM_HDIO_TRISTATE_HWIF(if (c == 'b') parse_opts(&get_busstate, &set_busstate, &busstate, 0, 2)); |
2438 | #if ENABLE_FEATURE_HDPARM_HDIO_SCAN_HWIF | 2438 | #if ENABLE_FEATURE_HDPARM_HDIO_SCAN_HWIF |
2439 | if (c == 'R') { | 2439 | if (c == 'R') { |
2440 | parse_opts((c == 'R'), NULL, &scan_hwif, &hwif_data, 0, INT_MAX); | 2440 | parse_opts(NULL, &scan_hwif, &hwif_data, 0, INT_MAX); |
2441 | hwif_ctrl = bb_xgetlarg((argv[optind]) ? argv[optind] : "", 10, 0, INT_MAX); | 2441 | hwif_ctrl = bb_xgetlarg((argv[optind]) ? argv[optind] : "", 10, 0, INT_MAX); |
2442 | hwif_irq = bb_xgetlarg((argv[optind+1]) ? argv[optind+1] : "", 10, 0, INT_MAX); | 2442 | hwif_irq = bb_xgetlarg((argv[optind+1]) ? argv[optind+1] : "", 10, 0, INT_MAX); |
2443 | /* Move past the 2 additional arguments */ | 2443 | /* Move past the 2 additional arguments */ |