svn commit: trunk/busybox/util-linux
vda at busybox.net
vda at busybox.net
Tue Sep 19 17:40:32 UTC 2006
Author: vda
Date: 2006-09-19 10:40:31 -0700 (Tue, 19 Sep 2006)
New Revision: 16160
Log:
ipcs: getopt_ulflag'ification, -170 bytes
Modified:
trunk/busybox/util-linux/ipcs.c
Changeset:
Modified: trunk/busybox/util-linux/ipcs.c
===================================================================
--- trunk/busybox/util-linux/ipcs.c 2006-09-19 15:16:55 UTC (rev 16159)
+++ trunk/busybox/util-linux/ipcs.c 2006-09-19 17:40:31 UTC (rev 16160)
@@ -570,52 +570,29 @@
int ipcs_main(int argc, char **argv)
{
- int opt, id = 0;
+ int id = 0;
unsigned flags = 0;
+ unsigned long opt;
+ char *opt_i;
#define flag_print (1<<0)
#define flag_msg (1<<1)
#define flag_sem (1<<2)
#define flag_shm (1<<3)
- const char *const options = "atclupsmqi:ih?";
- while ((opt = getopt(argc, argv, options)) != -1) {
- switch (opt) {
- case 'i':
- id = atoi(optarg);
- flags |= flag_print;
- break;
- case 'a':
- flags |= flag_msg | flag_sem | flag_shm;
- break;
- case 'q':
- flags |= flag_msg;
- break;
- case 's':
- flags |= flag_sem;
- break;
- case 'm':
- flags |= flag_shm;
- break;
- case 't':
- format = TIME;
- break;
- case 'c':
- format = CREATOR;
- break;
- case 'p':
- format = PID;
- break;
- case 'l':
- format = LIMITS;
- break;
- case 'u':
- format = STATUS;
- break;
- case 'h':
- case '?':
- bb_show_usage();
- }
+ opt = bb_getopt_ulflags(argc, argv, "i:aqsmtcplu", &opt_i);
+ if (opt & 0x1) { // -i
+ id = atoi(optarg);
+ flags |= flag_print;
}
+ if (opt & 0x2) flags |= flag_msg | flag_sem | flag_shm; // -a
+ if (opt & 0x4) flags |= flag_msg; // -q
+ if (opt & 0x8) flags |= flag_sem; // -s
+ if (opt & 0x10) flags |= flag_shm; // -m
+ if (opt & 0x20) format = TIME; // -t
+ if (opt & 0x40) format = CREATOR; // -c
+ if (opt & 0x80) format = PID; // -p
+ if (opt & 0x100) format = LIMITS; // -l
+ if (opt & 0x200) format = STATUS; // -u
if (flags & flag_print) {
if (flags & flag_shm) {
More information about the busybox-cvs
mailing list