static bool do_command(struct tevent_context *ev_ctx, struct messaging_context *msg_ctx, int argc, const char **argv) { const char *dest = argv[0], *command = argv[1]; struct server_id pid; int i; /* Check destination */ pid = parse_dest(msg_ctx, dest); if (!procid_valid(&pid)) { return False; } /* Check command */ for (i = 0; msg_types[i].name; i++) { if (strequal(command, msg_types[i].name)) return msg_types[i].fn(ev_ctx, msg_ctx, pid, argc - 1, argv + 1); } fprintf(stderr, "smbcontrol: unknown command '%s'\n", command); return False; }
int update_flex(void) { int ret; char fname[80]; sprintf(fname, "%s.session.%s", FLEXD_TEMP_PATH, flexgate); if ((ret = download_dest(flexgate, fname)) == 0) { parse_dest(flexgate, fname); remove(fname); } return (ret); }
static BOOL do_command(int argc, const char **argv) { const char *dest = argv[0], *command = argv[1]; pid_t pid; int i; /* Check destination */ if ((pid = parse_dest(dest)) == -1) return False; /* Check command */ for (i = 0; msg_types[i].name; i++) { if (strequal(command, msg_types[i].name)) return msg_types[i].fn(pid, argc - 1, argv + 1); } fprintf(stderr, "smbcontrol: unknown command '%s'\n", command); return False; }