Initial branching by command in the client
This commit is contained in:
@@ -32,16 +32,29 @@ int main(int argc, char **argv) {
|
|||||||
command->args.ls.paths[0] = calloc(strlen(argv[3] + 1), sizeof(char));
|
command->args.ls.paths[0] = calloc(strlen(argv[3] + 1), sizeof(char));
|
||||||
strcpy(command->args.ls.paths[0], argv[3]);
|
strcpy(command->args.ls.paths[0], argv[3]);
|
||||||
break;
|
break;
|
||||||
|
case GUESTFS_COMMAND_CAT:
|
||||||
|
command->args.cat.paths_length = 1;
|
||||||
|
command->args.cat.paths = calloc(1, sizeof(char *));
|
||||||
|
command->args.cat.paths[0] = calloc(strlen(argv[3] + 1), sizeof(char));
|
||||||
|
strcpy(command->args.cat.paths[0], argv[3]);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
zmsg_t *msg = command_to_zmsg(command);
|
zmsg_t *msg = command_to_zmsg(command);
|
||||||
zmsg_send(&msg, daemon);
|
zmsg_send(&msg, daemon);
|
||||||
|
|
||||||
zmsg_t *rep = zmsg_recv(daemon);
|
zmsg_t *rep = zmsg_recv(daemon);
|
||||||
char *res = zmsg_popstr(rep);
|
|
||||||
printf("Res:\n%s\n", res);
|
|
||||||
|
|
||||||
free(res);
|
// process reply
|
||||||
|
switch (command->command) {
|
||||||
|
case GUESTFS_COMMAND_LS:
|
||||||
|
char *res = zmsg_popstr(rep);
|
||||||
|
printf("Res:\n%s\n", res);
|
||||||
|
free(res);
|
||||||
|
break;
|
||||||
|
case GUESTFS_COMMAND_CAT:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
zmsg_destroy(&msg);
|
zmsg_destroy(&msg);
|
||||||
zmsg_destroy(&rep);
|
zmsg_destroy(&rep);
|
||||||
zsock_destroy(&daemon);
|
zsock_destroy(&daemon);
|
||||||
|
|||||||
Reference in New Issue
Block a user