X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=daemon%2Favailable.c;h=77fdfa2c7ccb5f05c4fec942e760d2e7a00a222c;hp=b43d18200097a1f793c9dccd82818cd6db5a8468;hb=0c1e77219ea264a51b62e648003bfbea51db8ffb;hpb=8fd7f255d611d2092a244c4a48c6b7b4529e98b1 diff --git a/daemon/available.c b/daemon/available.c index b43d182..77fdfa2 100644 --- a/daemon/available.c +++ b/daemon/available.c @@ -29,9 +29,26 @@ int do_available (char *const *groups) { - if (groups[0] != NULL) { - reply_with_error ("%s: unknown group", groups[0]); - return -1; + int av; + size_t i, j; + + for (i = 0; groups[i] != NULL; ++i) { + for (j = 0; optgroups[j].group != NULL; ++j) { + if (STREQ (groups[i], optgroups[j].group)) { + av = optgroups[j].available (); + if (!av) { + reply_with_error ("%s: group not available", optgroups[j].group); + return -1; + } + break; /* out of for (j) loop */ + } + } + + /* Unknown group? */ + if (optgroups[j].group == NULL) { + reply_with_error ("%s: unknown group", groups[i]); + return -1; + } } return 0;