X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=interactive.c;h=6a1db53620cfa60f1061cc2bcf185aee2659373b;hp=43cb99f2781979e74b66eef640fadb7878f30aeb;hb=deb3326320166531abc35ce805dee4df6b49e936;hpb=5cb5db1fbf8f9b96c3b5a1e0cc7de9e710757540 diff --git a/interactive.c b/interactive.c index 43cb99f2..6a1db536 100644 --- a/interactive.c +++ b/interactive.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011-2013 Andre Noll + * Copyright (C) 2011-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -29,7 +29,7 @@ struct i9e_private { FILE *stderr_stream; int num_columns; char empty_line[1000]; - struct task task; + struct task *task; struct btr_node *stdout_btrn; bool last_write_was_status; bool line_handler_running; @@ -52,7 +52,7 @@ static struct i9e_private i9e_private, *i9ep = &i9e_private; */ int i9e_get_error(void) { - return i9ep->task.error; + return i9ep->task->error; } static bool is_prefix(const char *partial, const char *full, size_t len) @@ -227,6 +227,7 @@ static void wipe_bottom_line(void) fprintf(i9ep->stderr_stream, "\r"); } +#ifndef RL_FREE_KEYMAP_DECLARED /** * Free all storage associated with a keymap. * @@ -237,6 +238,7 @@ static void wipe_bottom_line(void) * \param keymap The keymap to deallocate. */ void rl_free_keymap(Keymap keymap); +#endif /** * Reset the terminal and save the in-memory command line history. @@ -437,7 +439,6 @@ static int dispatch_key(__a_unused int count, int key) * The caller must allocate and initialize the structure \a ici points to. * * \return Standard. - * \sa \ref register_task(). */ int i9e_open(struct i9e_client_info *ici, struct sched *s) { @@ -451,10 +452,13 @@ int i9e_open(struct i9e_client_info *ici, struct sched *s) ret = mark_fd_nonblocking(ici->fds[1]); if (ret < 0) return ret; - i9ep->task.pre_select = i9e_pre_select; - i9ep->task.post_select = i9e_post_select; - sprintf(i9ep->task.status, "i9e"); - register_task(s, &i9ep->task); + i9ep->task = task_register(&(struct task_info) { + .name = "i9e", + .pre_select = i9e_pre_select, + .post_select = i9e_post_select, + .context = i9ep, + }, s); + rl_readline_name = "para_i9e"; rl_basic_word_break_characters = " "; rl_attempted_completion_function = i9e_completer;