Expose device serial as an optional argument
The device serial was provided as a positional argument: scrcpy 0123456789abcdef Instead, expose it as an optional argument, -s or --serial: scrcpy -s 0123456789abcdef This avoids inconsistency between platforms when the positional argument is passed before the options (which is undefined).
This commit is contained in:
parent
23d92a95b6
commit
8697659890
1 changed files with 11 additions and 9 deletions
|
@ -20,11 +20,7 @@ struct args {
|
|||
|
||||
static void usage(const char *arg0) {
|
||||
fprintf(stderr,
|
||||
"Usage: %s [options] [serial]\n"
|
||||
"\n"
|
||||
" serial\n"
|
||||
" The device serial number. Mandatory only if several devices\n"
|
||||
" are connected to adb.\n"
|
||||
"Usage: %s [options]\n"
|
||||
"\n"
|
||||
"Options:\n"
|
||||
"\n"
|
||||
|
@ -46,6 +42,10 @@ static void usage(const char *arg0) {
|
|||
" Set the TCP port the client listens on.\n"
|
||||
" Default is %d.\n"
|
||||
"\n"
|
||||
" -s, --serial\n"
|
||||
" The device serial number. Mandatory only if several devices\n"
|
||||
" are connected to adb.\n"
|
||||
"\n"
|
||||
" -v, --version\n"
|
||||
" Print the version of scrcpy.\n"
|
||||
"\n"
|
||||
|
@ -177,11 +177,12 @@ static SDL_bool parse_args(struct args *args, int argc, char *argv[]) {
|
|||
{"help", no_argument, NULL, 'h'},
|
||||
{"max-size", required_argument, NULL, 'm'},
|
||||
{"port", required_argument, NULL, 'p'},
|
||||
{"serial", required_argument, NULL, 's'},
|
||||
{"version", no_argument, NULL, 'v'},
|
||||
{NULL, 0, NULL, 0 },
|
||||
};
|
||||
int c;
|
||||
while ((c = getopt_long(argc, argv, "b:hm:p:v", long_options, NULL)) != -1) {
|
||||
while ((c = getopt_long(argc, argv, "b:hm:p:s:v", long_options, NULL)) != -1) {
|
||||
switch (c) {
|
||||
case 'b': {
|
||||
if (!parse_bit_rate(optarg, &args->bit_rate)) {
|
||||
|
@ -205,6 +206,10 @@ static SDL_bool parse_args(struct args *args, int argc, char *argv[]) {
|
|||
}
|
||||
break;
|
||||
}
|
||||
case 's': {
|
||||
args->serial = optarg;
|
||||
break;
|
||||
}
|
||||
case 'v': {
|
||||
args->version = SDL_TRUE;
|
||||
break;
|
||||
|
@ -216,9 +221,6 @@ static SDL_bool parse_args(struct args *args, int argc, char *argv[]) {
|
|||
}
|
||||
|
||||
int index = optind;
|
||||
if (index < argc) {
|
||||
args->serial = argv[index++];
|
||||
}
|
||||
if (index < argc) {
|
||||
LOGE("Unexpected additional argument: %s", argv[index]);
|
||||
return SDL_FALSE;
|
||||
|
|
Loading…
Reference in a new issue