/*
- * Copyright (C) 1997-2012 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 1997-2013 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
goto out;
schedule(&command_sched);
*result = exec_task.result_buf;
- btr_remove_node(exec_task.btrn);
+ btr_remove_node(&exec_task.btrn);
client_disconnect(ct);
ret = 1;
out:
- btr_free_node(exec_task.btrn);
+ btr_remove_node(&exec_task.btrn);
if (ret < 0)
free(exec_task.result_buf);
return ret;
free(orig);
}
sl[2 * num_atts] = NULL;
- ret = i9e_extract_completions(ci->word, sl, &cr->matches);
+ i9e_extract_completions(ci->word, sl, &cr->matches);
out:
free(buf);
free_argv(sl);
ret = client_connect(ct, &sched, NULL, NULL);
if (ret < 0)
return ret;
- i9e_attach_to_stdout(ct->btrn);
+ i9e_attach_to_stdout(ct->btrn[0]);
return 1;
}
t->error = ct->task.error;
return;
}
- if (ct->status == CL_SENDING) {
+ if (ct->status == CL_EXECUTING) {
stdin_set_defaults(&sit);
register_task(s, &sit.task);
- t->error = -E_TASK_STARTED;
- return;
- }
- if (ct->status == CL_RECEIVING) {
stdout_set_defaults(&sot);
register_task(s, &sot.task);
- t->error = -E_TASK_STARTED; return;
+ t->error = -E_TASK_STARTED;
+ return;
}
}
if (ret < 0)
goto out;
sot.btrn = btr_new_node(&(struct btr_node_description)
- EMBRACE(.name = "stdout", .parent = ct->btrn));
+ EMBRACE(.name = "stdout", .parent = ct->btrn[0]));
register_task(&sched, &svt);
ret = schedule(&sched);
if (ret >= 0 && ct->task.error < 0) {
case -E_BTR_EOF:
ret = 0;
break;
- default: ret = ct->task.error;
+ default: ret = -E_SERVER_CMD_FAILURE;
}
}
out:
if (ret < 0)
PARA_ERROR_LOG("%s\n", para_strerror(-ret));
client_close(ct);
- btr_free_node(sit.btrn);
- btr_free_node(sot.btrn);
+ btr_remove_node(&sit.btrn);
+ btr_remove_node(&sot.btrn);
return ret < 0? EXIT_FAILURE : EXIT_SUCCESS;
}