diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index 359970b..deae3f7 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -163,12 +163,18 @@ static int cpupool_qualifier_to_cpupoolid(const char *p, uint32_t *poolid_r, static void find_domain(const char *p) { int rc, was_name; + libxl_dominfo info_buf; rc = domain_qualifier_to_domid(p, &domid, &was_name); if (rc) { fprintf(stderr, "%s is an invalid domain identifier (rc=%d)\n", p, rc); exit(2); } + rc = libxl_domain_info(&ctx, &info_buf, domid); + if (rc == ERROR_INVAL) { + fprintf(stderr, "Error: Domain \'%d\' does not exist.\n", domid); + exit(2); + } common_domname = was_name ? p : libxl_domid_to_name(&ctx, domid); } @@ -3149,11 +3155,6 @@ int main_list(int argc, char **argv) } else if (optind == argc-1) { find_domain(argv[optind]); rc = libxl_domain_info(&ctx, &info_buf, domid); - if (rc == ERROR_INVAL) { - fprintf(stderr, "Error: Domain \'%s\' does not exist.\n", - argv[optind]); - return -rc; - } if (rc) { fprintf(stderr, "libxl_domain_info failed (code %d).\n", rc); return -rc;