aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2006-05-08 15:35:46 +0000
committerRob Landley <rob@landley.net>2006-05-08 15:35:46 +0000
commit19802563ed14d75674ba863ee2b5ec29df539abb (patch)
tree34e9dadec958a0e853d10f1a38593285f0228de8
parent0ea0aefcb5cf4e0a589bda0b0b78a1c39f5f9c10 (diff)
downloadbusybox-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.c52
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 */
2301static void parse_opts(int flag, unsigned long *get, unsigned long *set, unsigned long *value, int min, int max) 2301static 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 */