1*4882a593SmuzhiyunFrom 27d225a8a88a002f02c9ad3f5db357b0ad5b1bf1 Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Jeffy Chen <jeffy.chen@rock-chips.com> 3*4882a593SmuzhiyunDate: Thu, 7 Mar 2019 17:38:16 +0800 4*4882a593SmuzhiyunSubject: [PATCH] Support specifing devices in command args 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunSigned-off-by: Jeffy Chen <jeffy.chen@rock-chips.com> 7*4882a593Smuzhiyun--- 8*4882a593Smuzhiyun input-event-daemon.c | 19 ++++++++++++++++--- 9*4882a593Smuzhiyun 1 file changed, 16 insertions(+), 3 deletions(-) 10*4882a593Smuzhiyun 11*4882a593Smuzhiyundiff --git a/input-event-daemon.c b/input-event-daemon.c 12*4882a593Smuzhiyunindex 51e1e3c..2a7b527 100644 13*4882a593Smuzhiyun--- a/input-event-daemon.c 14*4882a593Smuzhiyun+++ b/input-event-daemon.c 15*4882a593Smuzhiyun@@ -791,7 +791,7 @@ static void daemon_print_help() { 16*4882a593Smuzhiyun " "PROGRAM" " 17*4882a593Smuzhiyun "[ [ --monitor | --list | --help | --version ] |\n" 18*4882a593Smuzhiyun " " 19*4882a593Smuzhiyun- "[--config=FILE] [--verbose] [--no-daemon] ]\n" 20*4882a593Smuzhiyun+ "[--config=FILE] [--verbose] [--no-daemon] ] [devices]\n" 21*4882a593Smuzhiyun "\n" 22*4882a593Smuzhiyun "Available Options:\n" 23*4882a593Smuzhiyun "\n" 24*4882a593Smuzhiyun@@ -814,7 +814,7 @@ static void daemon_print_version() { 25*4882a593Smuzhiyun } 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun int main(int argc, char *argv[]) { 28*4882a593Smuzhiyun- int result, arguments = 0; 29*4882a593Smuzhiyun+ int result, arguments = 0, listen_len = 0; 30*4882a593Smuzhiyun static const struct option long_options[] = { 31*4882a593Smuzhiyun { "monitor", no_argument, 0, 'm' }, 32*4882a593Smuzhiyun { "list", no_argument, 0, 'l' }, 33*4882a593Smuzhiyun@@ -834,6 +834,9 @@ int main(int argc, char *argv[]) { 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun while (optind < argc) { 36*4882a593Smuzhiyun result = getopt_long(argc, argv, "mlc:vDhV", long_options, NULL); 37*4882a593Smuzhiyun+ if (result == -1) 38*4882a593Smuzhiyun+ break; 39*4882a593Smuzhiyun+ 40*4882a593Smuzhiyun arguments++; 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun switch(result) { 43*4882a593Smuzhiyun@@ -875,8 +878,18 @@ int main(int argc, char *argv[]) { 44*4882a593Smuzhiyun } 45*4882a593Smuzhiyun } 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun+ for (arguments = optind; arguments < argc; arguments++) { 48*4882a593Smuzhiyun+ if(listen_len >= MAX_LISTENER) { 49*4882a593Smuzhiyun+ fprintf(stderr, PROGRAM": Listener limit exceeded!\n"); 50*4882a593Smuzhiyun+ break; 51*4882a593Smuzhiyun+ } 52*4882a593Smuzhiyun+ 53*4882a593Smuzhiyun+ conf.listen[listen_len++] = strdup(argv[arguments]); 54*4882a593Smuzhiyun+ } 55*4882a593Smuzhiyun+ 56*4882a593Smuzhiyun if(conf.monitor) { 57*4882a593Smuzhiyun- input_open_all_listener(); 58*4882a593Smuzhiyun+ if (!conf.listen[0]) 59*4882a593Smuzhiyun+ input_open_all_listener(); 60*4882a593Smuzhiyun } else { 61*4882a593Smuzhiyun config_parse_file(); 62*4882a593Smuzhiyun } 63*4882a593Smuzhiyun-- 64*4882a593Smuzhiyun2.11.0 65*4882a593Smuzhiyun 66