]> git.itanic.dy.fi Git - scan-pagemap/blobdiff - main.c
Add support for parsing multiple pid numbers
[scan-pagemap] / main.c
diff --git a/main.c b/main.c
index 092f2247ba80a93eb24b68016361e9f0ad71712d..219fca2eb44c153697782e240d5ded0b8fe3e216 100644 (file)
--- a/main.c
+++ b/main.c
@@ -48,9 +48,18 @@ void read_args(int argc, char *argv[], struct parse_opts *opts)
 
                switch (c) {
                case 'p':
-                       opts->pid = atoi(optarg);
+               {
+                       struct pidlist *pid = alloc_pidlist();
+
+                       if (pid == NULL) {
+                               perror("malloc");
+                               return;
+                       }
+                       pid->pid = atoi(optarg);
                        opts->parse_mask |= PARSE_PID;
+                       list_add_tail(&pid->list, &opts->pidlist);
                        break;
+               }
                case 'P':
                        opts->parse_mask |= PARSE_PROCESS_NAME;
                        opts->name = optarg;
@@ -83,7 +92,7 @@ int main(int argc, char *argv[])
                        "Results may be inaccurate\n");
        }
 
-       memset(&opts, 0, sizeof(opts));
+       init_parse_opts(&opts);
 
        read_args(argc, argv, &opts);