about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2014-07-09 20:23:47 +0100
committerJames Booth <boothj5@gmail.com>2014-07-09 20:23:47 +0100
commit954661e59e7cfc994c93f08b5b9694286b00adc5 (patch)
tree62b83fd85f8b1277d7a4cc4991cb728702abe925
parent0c9851106bfac4693920fa81633740dc85ae743a (diff)
downloadprofani-tty-954661e59e7cfc994c93f08b5b9694286b00adc5.tar.gz
Added quote param to autocomplete_complete
-rw-r--r--src/command/command.c2
-rw-r--r--src/config/accounts.c4
-rw-r--r--src/config/preferences.c2
-rw-r--r--src/muc.c4
-rw-r--r--src/roster_list.c8
-rw-r--r--src/tools/autocomplete.c10
-rw-r--r--src/tools/autocomplete.h2
-rw-r--r--src/xmpp/bookmark.c2
-rw-r--r--src/xmpp/presence.c2
-rw-r--r--tests/test_autocomplete.c10
10 files changed, 23 insertions, 23 deletions
diff --git a/src/command/command.c b/src/command/command.c
index 20e29795..8ac8a8c4 100644
--- a/src/command/command.c
+++ b/src/command/command.c
@@ -1272,7 +1272,7 @@ cmd_autocomplete(char *input, int *size)
             inp_cpy[i] = input[i];
         }
         inp_cpy[i] = '\0';
-        found = autocomplete_complete(commands_ac, inp_cpy);
+        found = autocomplete_complete(commands_ac, inp_cpy, TRUE);
         if (found != NULL) {
             char *auto_msg = strdup(found);
             ui_replace_input(input, auto_msg, size);
diff --git a/src/config/accounts.c b/src/config/accounts.c
index 56c1b5c8..4041dbe1 100644
--- a/src/config/accounts.c
+++ b/src/config/accounts.c
@@ -101,13 +101,13 @@ _accounts_close(void)
 static char *
 _accounts_find_enabled(char *prefix)
 {
-    return autocomplete_complete(enabled_ac, prefix);
+    return autocomplete_complete(enabled_ac, prefix, TRUE);
 }
 
 static char *
 _accounts_find_all(char *prefix)
 {
-    return autocomplete_complete(all_ac, prefix);
+    return autocomplete_complete(all_ac, prefix, TRUE);
 }
 
 static void
diff --git a/src/config/preferences.c b/src/config/preferences.c
index b187bc32..6ac9a6d6 100644
--- a/src/config/preferences.c
+++ b/src/config/preferences.c
@@ -125,7 +125,7 @@ prefs_close(void)
 char *
 prefs_autocomplete_boolean_choice(char *prefix)
 {
-    return autocomplete_complete(boolean_choice_ac, prefix);
+    return autocomplete_complete(boolean_choice_ac, prefix, TRUE);
 }
 
 void
diff --git a/src/muc.c b/src/muc.c
index 14d12bbf..11d92a50 100644
--- a/src/muc.c
+++ b/src/muc.c
@@ -117,7 +117,7 @@ muc_reset_invites_ac(void)
 char *
 muc_find_invite(char *search_str)
 {
-    return autocomplete_complete(invite_ac, search_str);
+    return autocomplete_complete(invite_ac, search_str, TRUE);
 }
 
 void
@@ -578,7 +578,7 @@ muc_autocomplete(char *input, int *size)
         gchar *last_space = g_strrstr(input, " ");
         char *result = NULL;
         if (last_space == NULL) {
-            result = autocomplete_complete(nick_ac, input);
+            result = autocomplete_complete(nick_ac, input, TRUE);
         } else {
             int len = (last_space - input);
             char *start_str = strndup(input, len);
diff --git a/src/roster_list.c b/src/roster_list.c
index dac76342..54cd2d4f 100644
--- a/src/roster_list.c
+++ b/src/roster_list.c
@@ -291,13 +291,13 @@ roster_has_pending_subscriptions(void)
 char *
 roster_find_contact(char *search_str)
 {
-    return autocomplete_complete(name_ac, search_str);
+    return autocomplete_complete(name_ac, search_str, TRUE);
 }
 
 char *
 roster_find_resource(char *search_str)
 {
-    return autocomplete_complete(fulljid_ac, search_str);
+    return autocomplete_complete(fulljid_ac, search_str, TRUE);
 }
 
 GSList *
@@ -333,13 +333,13 @@ roster_get_groups(void)
 char *
 roster_find_group(char *search_str)
 {
-    return autocomplete_complete(groups_ac, search_str);
+    return autocomplete_complete(groups_ac, search_str, TRUE);
 }
 
 char *
 roster_find_jid(char *search_str)
 {
-    return autocomplete_complete(barejid_ac, search_str);
+    return autocomplete_complete(barejid_ac, search_str, TRUE);
 }
 
 static
diff --git a/src/tools/autocomplete.c b/src/tools/autocomplete.c
index 668d78af..288548c8 100644
--- a/src/tools/autocomplete.c
+++ b/src/tools/autocomplete.c
@@ -148,7 +148,7 @@ autocomplete_contains(Autocomplete ac, const char *value)
 }
 
 gchar *
-autocomplete_complete(Autocomplete ac, gchar *search_str)
+autocomplete_complete(Autocomplete ac, gchar *search_str, gboolean quote)
 {
     gchar *found = NULL;
 
@@ -166,18 +166,18 @@ autocomplete_complete(Autocomplete ac, gchar *search_str)
             FREE_SET_NULL(ac->search_str);
         }
         ac->search_str = strdup(search_str);
-        found = _search_from(ac, ac->items, TRUE);
+        found = _search_from(ac, ac->items, quote);
         return found;
 
     // subsequent search attempt
     } else {
         // search from here+1 tp end
-        found = _search_from(ac, g_slist_next(ac->last_found), TRUE);
+        found = _search_from(ac, g_slist_next(ac->last_found), quote);
         if (found != NULL)
             return found;
 
         // search from beginning
-        found = _search_from(ac, ac->items, TRUE);
+        found = _search_from(ac, ac->items, quote);
         if (found != NULL)
             return found;
 
@@ -235,7 +235,7 @@ autocomplete_param_with_ac(char *input, int *size, char *command,
         }
         inp_cpy[(*size) - len] = '\0';
 
-        char *found = autocomplete_complete(ac, inp_cpy);
+        char *found = autocomplete_complete(ac, inp_cpy, TRUE);
         if (found != NULL) {
             auto_msg = g_string_new(command_cpy);
             g_string_append(auto_msg, found);
diff --git a/src/tools/autocomplete.h b/src/tools/autocomplete.h
index 3736ef5f..6aaa607f 100644
--- a/src/tools/autocomplete.h
+++ b/src/tools/autocomplete.h
@@ -41,7 +41,7 @@ void autocomplete_add(Autocomplete ac, const char *item);
 void autocomplete_remove(Autocomplete ac, const char * const item);
 
 // find the next item prefixed with search string
-gchar * autocomplete_complete(Autocomplete ac, gchar *search_str);
+gchar * autocomplete_complete(Autocomplete ac, gchar *search_str, gboolean quote);
 
 GSList * autocomplete_get_list(Autocomplete ac);
 gint autocomplete_length(Autocomplete ac);
diff --git a/src/xmpp/bookmark.c b/src/xmpp/bookmark.c
index 083a5f54..e23c185c 100644
--- a/src/xmpp/bookmark.c
+++ b/src/xmpp/bookmark.c
@@ -217,7 +217,7 @@ _bookmark_get_list(void)
 static char *
 _bookmark_find(char *search_str)
 {
-    return autocomplete_complete(bookmark_ac, search_str);
+    return autocomplete_complete(bookmark_ac, search_str, TRUE);
 }
 
 static void
diff --git a/src/xmpp/presence.c b/src/xmpp/presence.c
index 4585cc51..4dced8d5 100644
--- a/src/xmpp/presence.c
+++ b/src/xmpp/presence.c
@@ -149,7 +149,7 @@ presence_clear_sub_requests(void)
 static char *
 _presence_sub_request_find(char * search_str)
 {
-    return autocomplete_complete(sub_requests_ac, search_str);
+    return autocomplete_complete(sub_requests_ac, search_str, TRUE);
 }
 
 static gboolean
diff --git a/tests/test_autocomplete.c b/tests/test_autocomplete.c
index 3eea639b..4fdd4e4d 100644
--- a/tests/test_autocomplete.c
+++ b/tests/test_autocomplete.c
@@ -24,7 +24,7 @@ void reset_after_create(void **state)
 void find_after_create(void **state)
 {
     Autocomplete ac = autocomplete_new();
-    autocomplete_complete(ac, "hello");
+    autocomplete_complete(ac, "hello", TRUE);
     autocomplete_clear(ac);
 }
 
@@ -42,7 +42,7 @@ void add_one_and_complete(void **state)
 {
     Autocomplete ac = autocomplete_new();
     autocomplete_add(ac, "Hello");
-    char *result = autocomplete_complete(ac, "Hel");
+    char *result = autocomplete_complete(ac, "Hel", TRUE);
 
     assert_string_equal("Hello", result);
 
@@ -54,7 +54,7 @@ void add_two_and_complete_returns_first(void **state)
     Autocomplete ac = autocomplete_new();
     autocomplete_add(ac, "Hello");
     autocomplete_add(ac, "Help");
-    char *result = autocomplete_complete(ac, "Hel");
+    char *result = autocomplete_complete(ac, "Hel", TRUE);
 
     assert_string_equal("Hello", result);
 
@@ -66,8 +66,8 @@ void add_two_and_complete_returns_second(void **state)
     Autocomplete ac = autocomplete_new();
     autocomplete_add(ac, "Hello");
     autocomplete_add(ac, "Help");
-    char *result1 = autocomplete_complete(ac, "Hel");
-    char *result2 = autocomplete_complete(ac, result1);
+    char *result1 = autocomplete_complete(ac, "Hel", TRUE);
+    char *result2 = autocomplete_complete(ac, result1, TRUE);
 
     assert_string_equal("Help", result2);