diff options
author | Bram Moolenaar <Bram@vim.org> | 2016-02-13 23:23:53 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2016-02-13 23:23:53 +0100 |
commit | 7707344ddec9069b495b2a5ed41f2104466fc88b (patch) | |
tree | 9c6b21f811c7c38a89daf010c61453d7d6eaa8da /src/netbeans.c | |
parent | e516c39ee97cb85fa230fbb1b1f54ad1346920d9 (diff) | |
download | vim-git-7707344ddec9069b495b2a5ed41f2104466fc88b.tar.gz |
patch 7.4.1315v7.4.1315
Problem: Using a channel handle does not allow for freeing it when unused.
Solution: Add the Channel variable type.
Diffstat (limited to 'src/netbeans.c')
-rw-r--r-- | src/netbeans.c | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/src/netbeans.c b/src/netbeans.c index c25b7c662..759ffa61e 100644 --- a/src/netbeans.c +++ b/src/netbeans.c @@ -63,8 +63,8 @@ static int nb_do_cmd(int, char_u *, int, int, char_u *); static void nb_send(char *buf, char *fun); static void nb_free(void); -#define NETBEANS_OPEN (nb_channel_idx >= 0 && channel_is_open(nb_channel_idx)) -static int nb_channel_idx = -1; +#define NETBEANS_OPEN (channel_can_write_to(nb_channel)) +static channel_T *nb_channel = NULL; static int r_cmdno; /* current command number for reply */ static int dosetvisible = FALSE; @@ -85,7 +85,7 @@ static int inAtomic = 0; static void nb_channel_closed(void) { - nb_channel_idx = -1; + nb_channel = NULL; } /* @@ -98,10 +98,10 @@ netbeans_close(void) if (NETBEANS_OPEN) { netbeans_send_disconnect(); - if (nb_channel_idx >= 0) + if (nb_channel != NULL) /* Close the socket and remove the input handlers. */ - channel_close(nb_channel_idx); - nb_channel_idx = -1; + channel_close(nb_channel); + nb_channel = NULL; } #ifdef FEAT_BEVAL @@ -213,8 +213,8 @@ netbeans_connect(char *params, int doabort) if (hostname != NULL && address != NULL && password != NULL) { port = atoi(address); - nb_channel_idx = channel_open(hostname, port, 0, nb_channel_closed); - if (nb_channel_idx >= 0) + nb_channel = channel_open(hostname, port, 0, nb_channel_closed); + if (nb_channel != NULL) { /* success */ # ifdef FEAT_BEVAL @@ -230,7 +230,7 @@ netbeans_connect(char *params, int doabort) } } - if (nb_channel_idx < 0 && doabort) + if (nb_channel == NULL && doabort) getout(1); vim_free(hostname); @@ -383,9 +383,9 @@ netbeans_parse_messages(void) char_u *p; int own_node; - while (nb_channel_idx >= 0) + while (nb_channel != NULL) { - buffer = channel_peek(nb_channel_idx); + buffer = channel_peek(nb_channel); if (buffer == NULL) break; /* nothing to read */ @@ -396,7 +396,7 @@ netbeans_parse_messages(void) /* Command isn't complete. If there is no following buffer, * return (wait for more). If there is another buffer following, * prepend the text to that buffer and delete this one. */ - if (channel_collapse(nb_channel_idx) == FAIL) + if (channel_collapse(nb_channel) == FAIL) return; } else @@ -409,7 +409,7 @@ netbeans_parse_messages(void) if (*p == NUL) { own_node = TRUE; - channel_get(nb_channel_idx); + channel_get(nb_channel); } else own_node = FALSE; @@ -600,8 +600,8 @@ nb_free(void) } /* free the queued netbeans commands */ - if (nb_channel_idx >= 0) - channel_clear(nb_channel_idx); + if (nb_channel != NULL) + channel_clear(nb_channel); } /* @@ -756,8 +756,8 @@ netbeans_end(void) static void nb_send(char *buf, char *fun) { - if (nb_channel_idx >= 0) - channel_send(nb_channel_idx, (char_u *)buf, fun); + if (nb_channel != NULL) + channel_send(nb_channel, (char_u *)buf, fun); } /* |