Ignore:
Timestamp:
Nov 2, 2009, 6:25:45 PM (12 years ago)
Author:
Pascal Terjan
Message:
  • Add first version of process selector
File:
1 edited

Legend:

Unmodified
Added
Removed
  • neercs/trunk/src/main.c

    r3872 r3874  
    6969    printf("Options :\n");
    7070    printf("\t--config\t-c <file>\t\tuse given config file\n");
    71     printf("\t--pid\t\t-P <pid>\t\tgrab <pid>\n");
     71    printf("\t--pid\t\t-P [pid]\t\tgrab process\n");
    7272    printf("\t\t\t-r [session]\t\treattach to a detached neercs\n");
    7373    printf("\t\t\t-R [session]\t\treattach if possible, otherwise start a new session\n");
     
    449449                { "config",      1, NULL, 'c' },
    450450#if defined USE_GRAB
    451                 { "pid",         1, NULL, 'P' },
     451                { "pid",         0, NULL, 'P' },
    452452#endif
    453453                { "help",        0, NULL, 'h' },
     
    456456            };
    457457#if defined USE_GRAB
    458         int c = mygetopt(argc, argv, "c:S:R::r::P:hv", long_options, &option_index);
     458        int c = mygetopt(argc, argv, "c:S:R::r::P::hv", long_options, &option_index);
    459459#else
    460460        int c = mygetopt(argc, argv, "c:S:R::r::hv", long_options, &option_index);
     
    477477            break;
    478478        case 'P': /* --pid */
    479             pidopt = atoi(myoptarg);
     479            if(myoptarg)
     480            {
     481                pidopt = atoi(myoptarg);
     482                if(pidopt <= 0)
     483                {
     484                    fprintf(stderr, "Invalid pid %d\n", pidopt);
     485                    if(screen_list->to_grab)
     486                        free(screen_list->to_grab);
     487                    return -1;
     488                }
     489            }
     490            else
     491                pidopt = select_process(screen_list);
    480492            if(pidopt <= 0)
    481493            {
    482                 fprintf(stderr, "Invalid pid %d\n", pidopt);
    483                 if(screen_list->to_grab)
    484                     free(screen_list->to_grab);
    485                 return -1;
     494                s+=1;
     495                break;
    486496            }
    487497            if(!screen_list->to_grab)
Note: See TracChangeset for help on using the changeset viewer.