diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2016-03-12 09:55:49 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2016-03-12 09:55:49 +0200 |
commit | b49a731cce26dc5fa7f61bc80097f85867d77aad (patch) | |
tree | 9d687adf6973a6b95b673e4a63c6277050bbb03c | |
parent | 3edbd2eb9288f1d2d675c422d5865b8be1f29c32 (diff) | |
download | swu-b49a731cce26dc5fa7f61bc80097f85867d77aad.tar.gz swu-b49a731cce26dc5fa7f61bc80097f85867d77aad.tar.bz2 |
Implement long options
-rw-r--r-- | swu.c | 17 |
1 files changed, 16 insertions, 1 deletions
@@ -1,4 +1,5 @@ | |||
1 | #include <unistd.h> | 1 | #include <unistd.h> |
2 | #include <getopt.h> | ||
2 | #include <stdio.h> | 3 | #include <stdio.h> |
3 | #include <stdlib.h> | 4 | #include <stdlib.h> |
4 | #include <stdarg.h> | 5 | #include <stdarg.h> |
@@ -286,6 +287,19 @@ help(void) | |||
286 | //FIXME | 287 | //FIXME |
287 | } | 288 | } |
288 | 289 | ||
290 | struct option opt[] = { | ||
291 | { "all", 0, NULL, 'a' }, | ||
292 | { "human-readable", 0, NULL, 'H' }, | ||
293 | { "help", 0, NULL, 'h' }, | ||
294 | { "name", 0, NULL, 'n' }, | ||
295 | { "pid", 0, NULL, 'p' }, | ||
296 | { "reverse", 0, NULL, 'r' }, | ||
297 | { "size", 0, NULL, 's' }, | ||
298 | { "total", 0, NULL, 't' }, | ||
299 | { "verbose", 0, NULL, 'v' }, | ||
300 | { NULL } | ||
301 | }; | ||
302 | |||
289 | int | 303 | int |
290 | main(int argc, char **argv) | 304 | main(int argc, char **argv) |
291 | { | 305 | { |
@@ -296,7 +310,7 @@ main(int argc, char **argv) | |||
296 | ++progname; | 310 | ++progname; |
297 | else | 311 | else |
298 | progname = argv[0]; | 312 | progname = argv[0]; |
299 | while ((c = getopt(argc, argv, "aHhnprstv")) != EOF) { | 313 | while ((c = getopt_long(argc, argv, "acHhnprstv", opt, NULL)) != EOF) { |
300 | switch (c) { | 314 | switch (c) { |
301 | case 'a': | 315 | case 'a': |
302 | show_all = 1; | 316 | show_all = 1; |
@@ -319,6 +333,7 @@ main(int argc, char **argv) | |||
319 | case 's': | 333 | case 's': |
320 | cmp = cmp_size; | 334 | cmp = cmp_size; |
321 | break; | 335 | break; |
336 | case 'c': | ||
322 | case 't': | 337 | case 't': |
323 | show_total = 1; | 338 | show_total = 1; |
324 | break; | 339 | break; |