summaryrefslogtreecommitdiffhomepage
path: root/mixguile/mixguile_cmd_dispatcher.c
diff options
context:
space:
mode:
Diffstat (limited to 'mixguile/mixguile_cmd_dispatcher.c')
-rw-r--r--mixguile/mixguile_cmd_dispatcher.c89
1 files changed, 0 insertions, 89 deletions
diff --git a/mixguile/mixguile_cmd_dispatcher.c b/mixguile/mixguile_cmd_dispatcher.c
index b55d0ed..df3c051 100644
--- a/mixguile/mixguile_cmd_dispatcher.c
+++ b/mixguile/mixguile_cmd_dispatcher.c
@@ -55,25 +55,6 @@ static mix_vm_command_info_t commands_[] = {
};
/* create/destroy cmd dispatcher */
-static void
-make_pipe_ (mixguile_cmd_dispatcher_t *dis)
-{
- int fildes[2], r;
- FILE *out;
- r = pipe (fildes);
- g_return_if_fail (r == 0);
- out = fdopen (fildes[1], "w");
- g_return_if_fail (out != NULL);
- r = fcntl (fildes[0], F_GETFL, 0);
- g_return_if_fail (r != -1);
- r = fcntl (fildes[0], F_SETFL, r | O_NONBLOCK);
- g_return_if_fail (r != -1);
-
- dis->guile_out = out;
- dis->fildes[0] = fildes[0];
- dis->fildes[1] = fildes[1];
-}
-
mixguile_cmd_dispatcher_t *
mixguile_cmd_dispatcher_new (mix_vm_cmd_dispatcher_t *dis)
{
@@ -91,10 +72,6 @@ mixguile_cmd_dispatcher_new (mix_vm_cmd_dispatcher_t *dis)
result = g_new (mixguile_cmd_dispatcher_t, 1);
result->dispatcher = dis;
- result->err = result->out = NULL;
- result->result = NULL;
- result->fildes[0] = result->fildes[1] = -1;
- result->guile_out = NULL;
while (commands_[k].name)
{
@@ -112,12 +89,6 @@ void
mixguile_cmd_dispatcher_delete (mixguile_cmd_dispatcher_t *dis)
{
g_return_if_fail (dis != NULL);
- if (dis->guile_out)
- {
- fclose (dis->guile_out);
- close (dis->fildes[0]);
- close (dis->fildes[1]);
- }
mix_vm_cmd_dispatcher_delete (dis->dispatcher);
}
@@ -129,66 +100,6 @@ mixguile_cmd_dispatcher_get_vm_dispatcher (const mixguile_cmd_dispatcher_t *dis)
return dis->dispatcher;
}
-/* get the result string of last executed command */
-const gchar *
-mixguile_cmd_dispatcher_last_result (mixguile_cmd_dispatcher_t *dis)
-{
- enum {BLKSIZE = 256};
- static gchar BUFFER[BLKSIZE + 1];
-
- ssize_t k;
- gchar *tmp = NULL;
-
- g_return_val_if_fail (dis != NULL, NULL);
- if (!dis->guile_out) return NULL;
- if (dis->result) g_free (dis->result);
- dis->result = NULL;
- fflush (dis->guile_out);
- while ((k = read (dis->fildes[0], BUFFER, BLKSIZE)) != 0)
- {
- if (k == -1 && errno != EINTR) break;
- if (k != -1)
- {
- tmp = dis->result;
- BUFFER[k] = '\0';
- dis->result = g_strconcat (tmp ? tmp : "", BUFFER, NULL);
- g_free (tmp);
- }
- }
-
- if (dis->result && dis->result[strlen (dis->result) - 1] == '\n')
- dis->result[strlen (dis->result) - 1] = '\0';
-
- return dis->result;
-}
-
-/* prepare dispatcher for repl */
-static void
-prepare_dispatcher_ (mixguile_cmd_dispatcher_t *dis)
-{
- if (!dis->guile_out) make_pipe_ (dis);
- dis->out = mix_vm_cmd_dispatcher_set_out_stream (dis->dispatcher,
- dis->guile_out);
- dis->err = mix_vm_cmd_dispatcher_set_error_stream (dis->dispatcher,
- dis->guile_out);
-}
-
-void
-mixguile_cmd_dispatcher_prepare (mixguile_cmd_dispatcher_t *dis)
-{
- g_return_if_fail (dis != NULL);
- prepare_dispatcher_ (dis);
-}
-
-/* interpret commands from file or string
-static void
-reset_dispatcher_ (mixguile_cmd_dispatcher_t *dis)
-{
- (void) mix_vm_cmd_dispatcher_set_out_stream (dis->dispatcher, dis->out);
- (void) mix_vm_cmd_dispatcher_set_error_stream (dis->dispatcher, dis->err);
-}
-*/
-
void
mixguile_cmd_dispatcher_interpret_file (mixguile_cmd_dispatcher_t *dis,
const gchar *path)