diff options
Diffstat (limited to 'protocols/Telegram/src/tgl/auto-static-autocomplete.c')
-rw-r--r-- | protocols/Telegram/src/tgl/auto-static-autocomplete.c | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/protocols/Telegram/src/tgl/auto-static-autocomplete.c b/protocols/Telegram/src/tgl/auto-static-autocomplete.c deleted file mode 100644 index 43ec4cc02e..0000000000 --- a/protocols/Telegram/src/tgl/auto-static-autocomplete.c +++ /dev/null @@ -1,63 +0,0 @@ -#define IN_AUTOCOMPLETE_H -#include "auto-static-store.c" -#undef IN_AUTOCOMPLETE_H - -static int autocomplete_mode; -static char *autocomplete_string; -static int (*autocomplete_fun)(const char *, int, int, char **); - -static void set_autocomplete_string (const char *s) { - if (autocomplete_string) { free (autocomplete_string); } - autocomplete_string = strdup (s); - assert (autocomplete_string); - autocomplete_mode = 1; -} - -static void set_autocomplete_type (int (*f)(const char *, int, int, char **)) { - autocomplete_fun = f; - autocomplete_mode = 2; -} - -#define MAX_FVARS 100 -static struct paramed_type *fvars[MAX_FVARS]; -static int fvars_pos; - -static void add_var_to_be_freed (struct paramed_type *P) { - assert (fvars_pos < MAX_FVARS); - fvars[fvars_pos ++] = P; -} - -static void free_vars_to_be_freed (void) { - int i; - for (i = 0; i < fvars_pos; i++) { - tgl_paramed_type_free (fvars[i]); - } - fvars_pos = 0; -} - -int tglf_extf_autocomplete (struct tgl_state *TLS, const char *text, int text_len, int index, char **R, char *data, int data_len) { - if (index == -1) { - buffer_pos = data; - buffer_end = data + data_len; - autocomplete_mode = 0; - local_next_token (); - struct paramed_type *P = autocomplete_function_any (); - free_vars_to_be_freed (); - if (P) { tgl_paramed_type_free (P); } - } - if (autocomplete_mode == 0) { return -1; } - int len = strlen (text); - if (autocomplete_mode == 1) { - if (index >= 0) { return -1; } - index = 0; - if (!strncmp (text, autocomplete_string, len)) { - *R = strdup (autocomplete_string); - assert (*R); - return index; - } else { - return -1; - } - } else { - return autocomplete_fun (text, len, index, R); - } -} |