]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
chcpu: use err_exclusive_options()
authorKarel Zak <kzak@redhat.com>
Thu, 26 Jul 2012 07:25:19 +0000 (09:25 +0200)
committerKarel Zak <kzak@redhat.com>
Thu, 26 Jul 2012 07:25:19 +0000 (09:25 +0200)
Signed-off-by: Karel Zak <kzak@redhat.com>
sys-utils/chcpu.c

index 523e9c566079f5ac5ba3ff5c722cf5f574020d4a..0209fe9bf441b0c4641035ec2477e13cdd368ddb 100644 (file)
@@ -235,16 +235,6 @@ int main(int argc, char *argv[])
        int cmd = -1;
        int c;
 
-       enum {
-               EXCL_NONE,
-               EXCL_CONFIGURE,
-               EXCL_DECONFIGURE,
-               EXCL_DISABLE,
-               EXCL_DISPATCH,
-               EXCL_ENABLE
-       };
-       int excl_any = EXCL_NONE;
-
        static const struct option longopts[] = {
                { "configure",  required_argument, 0, 'c' },
                { "deconfigure",required_argument, 0, 'g' },
@@ -257,6 +247,12 @@ int main(int argc, char *argv[])
                { NULL,         0, 0, 0 }
        };
 
+       static const ul_excl_t excl[] = {       /* rows and cols in in ASCII order */
+               { 'c','d','e','g','p' },
+               { 0 }
+       };
+       int excl_st[ARRAY_SIZE(excl)] = UL_EXCL_STATUS_INIT;
+
        setlocale(LC_ALL, "");
        bindtextdomain(PACKAGE, LOCALEDIR);
        textdomain(PACKAGE);
@@ -273,31 +269,29 @@ int main(int argc, char *argv[])
                err(EXIT_FAILURE, _("cpuset_alloc failed"));
 
        while ((c = getopt_long(argc, argv, "c:d:e:g:hp:rV", longopts, NULL)) != -1) {
+
+               err_exclusive_options(c, longopts, excl, excl_st);
+
                switch (c) {
                case 'c':
-                       exclusive_option(&excl_any, EXCL_CONFIGURE, EXCL_ERROR);
                        cmd = CMD_CPU_CONFIGURE;
                        cpu_parse(argv[optind - 1], cpu_set, setsize);
                        break;
                case 'd':
-                       exclusive_option(&excl_any, EXCL_DISABLE, EXCL_ERROR);
                        cmd = CMD_CPU_DISABLE;
                        cpu_parse(argv[optind - 1], cpu_set, setsize);
                        break;
                case 'e':
-                       exclusive_option(&excl_any, EXCL_ENABLE, EXCL_ERROR);
                        cmd = CMD_CPU_ENABLE;
                        cpu_parse(argv[optind - 1], cpu_set, setsize);
                        break;
                case 'g':
-                       exclusive_option(&excl_any, EXCL_DECONFIGURE, EXCL_ERROR);
                        cmd = CMD_CPU_DECONFIGURE;
                        cpu_parse(argv[optind - 1], cpu_set, setsize);
                        break;
                case 'h':
                        usage(stdout);
                case 'p':
-                       exclusive_option(&excl_any, EXCL_DISPATCH, EXCL_ERROR);
                        if (strcmp("horizontal", argv[optind - 1]) == 0)
                                cmd = CMD_CPU_DISPATCH_HORIZONTAL;
                        else if (strcmp("vertical", argv[optind - 1]) == 0)