]> git.proxmox.com Git - mirror_iproute2.git/blobdiff - genl/genl.c
Replace malloc && memset by calloc
[mirror_iproute2.git] / genl / genl.c
index 3ae75aec72576890f328dfd05deb535e119c6aa7..747074b029a7b98626ba32b70e15dc2e3b7aded9 100644 (file)
@@ -54,7 +54,7 @@ static int parse_nofopt(struct genl_util *f, int argc, char **argv)
        return 0;
 }
 
-static struct genl_util *get_genl_kind(char *str)
+static struct genl_util *get_genl_kind(const char *str)
 {
        void *dlh;
        char buf[256];
@@ -86,9 +86,8 @@ reg:
        return f;
 
 noexist:
-       f = malloc(sizeof(*f));
+       f = calloc(1, sizeof(*f));
        if (f) {
-               memset(f, 0, sizeof(*f));
                strncpy(f->name, str, 15);
                f->parse_genlopt = parse_nofopt;
                f->print_genlopt = print_nofopt;
@@ -109,14 +108,6 @@ static void usage(void)
 
 int main(int argc, char **argv)
 {
-       char *basename;
-
-       basename = strrchr(argv[0], '/');
-       if (basename == NULL)
-               basename = argv[0];
-       else
-               basename++;
-
        while (argc > 1) {
                if (argv[1][0] != '-')
                        break;
@@ -144,18 +135,13 @@ int main(int argc, char **argv)
                int ret;
                struct genl_util *a = NULL;
                a = get_genl_kind(argv[1]);
-               if (NULL == a) {
-                       fprintf(stderr,"bad genl %s\n",argv[1]);
+               if (!a) {
+                       fprintf(stderr,"bad genl %s\n", argv[1]);
+                       exit(-1);
                }
 
                ret = a->parse_genlopt(a, argc-1, argv+1);
                return ret;
-
-               if (matches(argv[1], "help") == 0)
-                       usage();
-               fprintf(stderr, "Object \"%s\" is unknown, try \"genl "
-                       "-help\".\n", argv[1]);
-               exit(-1);
        }
 
        usage();