summaryrefslogtreecommitdiff
path: root/protocols/Telegram/tgl/auto-static-autocomplete.c
diff options
context:
space:
mode:
authorKirill Volinsky <mataes2007@gmail.com>2016-03-11 14:42:30 +0000
committerKirill Volinsky <mataes2007@gmail.com>2016-03-11 14:42:30 +0000
commitee75d9ae4a890d62b009444bed9512b4dab3ee1d (patch)
tree089d790ca21091372539ddd51f3762af232bf82d /protocols/Telegram/tgl/auto-static-autocomplete.c
parentbb5bb4407f2578ed8d6dc3b41f6ddb8b798e560c (diff)
old version
git-svn-id: http://svn.miranda-ng.org/main/trunk@16458 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/Telegram/tgl/auto-static-autocomplete.c')
-rw-r--r--protocols/Telegram/tgl/auto-static-autocomplete.c63
1 files changed, 0 insertions, 63 deletions
diff --git a/protocols/Telegram/tgl/auto-static-autocomplete.c b/protocols/Telegram/tgl/auto-static-autocomplete.c
deleted file mode 100644
index 43ec4cc02e..0000000000
--- a/protocols/Telegram/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);
- }
-}