]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - interactive.c
Merge topic branch t/sf_float into pu
[paraslash.git] / interactive.c
index 6c9110fd66e23cae6b8de5f80db834738565c64d..4d48742f686862bb8d5fe8871116925309dbc978 100644 (file)
@@ -229,6 +229,7 @@ void i9e_close(void)
        rl_callback_handler_remove();
        if (hf)
                write_history(hf);
+       clear_history();
        wipe_bottom_line();
        fcntl(i9ep->ici->fds[0], F_SETFL, i9ep->fd_flags[0]);
        fcntl(i9ep->ici->fds[1], F_SETFL, i9ep->fd_flags[1]);
@@ -287,7 +288,7 @@ static int i9e_post_monitor(__a_unused struct sched *s, __a_unused void *context
        char *buf;
        size_t sz, consumed = 0;
 
-       ret = -E_I9E_EOF;
+       ret = -E_EOF;
        if (i9ep->input_eof)
                goto rm_btrn;
        ret = -E_I9E_TERM_RQ;
@@ -306,7 +307,7 @@ static int i9e_post_monitor(__a_unused struct sched *s, __a_unused void *context
                                        goto rm_btrn;
                                }
                                if (ret == 0) {
-                                       ret = -E_I9E_EOF;
+                                       ret = -E_EOF;
                                        goto rm_btrn;
                                }
                                buf[1] = '\0';
@@ -634,7 +635,7 @@ int i9e_poll(struct pollfd *fds, nfds_t nfds, int timeout)
 int i9e_extract_completions(const char *word, char **string_list,
                char ***result)
 {
-       char **matches = para_malloc(sizeof(char *));
+       char **matches = alloc(sizeof(char *));
        int match_count = 0, matches_len = 1;
        char **p;
        int len = strlen(word);
@@ -645,8 +646,8 @@ int i9e_extract_completions(const char *word, char **string_list,
                match_count++;
                if (match_count >= matches_len) {
                        matches_len *= 2;
-                       matches = para_realloc(matches,
-                               matches_len * sizeof(char *));
+                       matches = arr_realloc(matches, matches_len,
+                               sizeof(char *));
                }
                matches[match_count - 1] = para_strdup(*p);
        }
@@ -682,7 +683,7 @@ char **i9e_complete_commands(const char *word, struct i9e_completer *completers)
                if (is_prefix(word, cmd, len))
                        match_count++;
        }
-       matches = para_malloc((match_count + 1) * sizeof(*matches));
+       matches = arr_alloc(match_count + 1, sizeof(*matches));
        for (i = 0, match_count = 0; (cmd = completers[i].name); i++)
                if (is_prefix(word, cmd, len))
                        matches[match_count++] = para_strdup(cmd);
@@ -766,7 +767,7 @@ int i9e_print_completions(struct i9e_completer *completers)
        if (*p == ' ')
                p++;
        n = end - p + 1;
-       ci.word = para_malloc(n + 1);
+       ci.word = alloc(n + 1);
        strncpy(ci.word, p, n);
        ci.word[n] = '\0';
 create_matches: