diff -r 1831912d4109 tools/libxl/xl_cmdimpl.c --- a/tools/libxl/xl_cmdimpl.c Thu Sep 02 19:12:42 2010 +0100 +++ b/tools/libxl/xl_cmdimpl.c Wed Sep 08 09:31:01 2010 +0200 @@ -3405,7 +3405,7 @@ int main_vcpulist(int argc, char **argv) } } - vcpulist(argc - 2, argv + 2); + vcpulist(argc - optind, argv + optind); return 0; } @@ -3494,22 +3494,23 @@ int main_vcpupin(int argc, char **argv) { int opt; - if (argc != 5) { + while ((opt = getopt(argc, argv, "h")) != -1) { + switch (opt) { + case 'h': + help("vcpu-pin"); + return 0; + default: + fprintf(stderr, "option `%c' not supported.\n", opt); + break; + } + } + + if (optind != argc - 3) { help("vcpu-pin"); - return 0; - } - while ((opt = getopt(argc, argv, "h")) != -1) { - switch (opt) { - case 'h': - help("vcpu-pin"); - return 0; - default: - fprintf(stderr, "option `%c' not supported.\n", opt); - break; - } - } - - vcpupin(argv[2], argv[3] , argv[4]); + return 2; + } + + vcpupin(argv[optind], argv[optind+1] , argv[optind+2]); return 0; }