Merge branch 'master' into otr

This commit is contained in:
James Booth
2013-12-10 00:13:49 +00:00
3 changed files with 22 additions and 53 deletions

View File

@@ -82,7 +82,7 @@ autocomplete_length(Autocomplete ac)
}
}
gboolean
void
autocomplete_add(Autocomplete ac, const char *item)
{
char *item_cpy;
@@ -90,21 +90,21 @@ autocomplete_add(Autocomplete ac, const char *item)
// if item already exists
if (curr != NULL) {
return FALSE;
return;
}
item_cpy = strdup(item);
ac->items = g_slist_insert_sorted(ac->items, item_cpy, (GCompareFunc)strcmp);
return TRUE;
return;
}
gboolean
void
autocomplete_remove(Autocomplete ac, const char * const item)
{
GSList *curr = g_slist_find_custom(ac->items, item, (GCompareFunc)strcmp);
if (!curr) {
return FALSE;
return;
}
// reset last found if it points to the item to be removed
@@ -115,7 +115,7 @@ autocomplete_remove(Autocomplete ac, const char * const item)
free(curr->data);
ac->items = g_slist_delete_link(ac->items, curr);
return TRUE;
return;
}
GSList *

View File

@@ -27,27 +27,33 @@
typedef char*(*autocomplete_func)(char *);
typedef struct autocomplete_t *Autocomplete;
typedef const char * (*PStrFunc)(const void *obj);
typedef void * (*PCopyFunc)(const void *obj);
typedef int (*PEqualFunc)(const void *o1, const void *o2);
typedef int (*PEqualDeepFunc)(const void *o1, const void *o2);
// allocate new autocompleter with no items
Autocomplete autocomplete_new(void);
Autocomplete obj_autocomplete_new(PStrFunc str_func, PCopyFunc copy_func,
PEqualDeepFunc equal_deep_func, GDestroyNotify free_func);
// Remove all items from the autocompleter
void autocomplete_clear(Autocomplete ac);
void autocomplete_reset(Autocomplete ac);
// free all memory used by the autocompleter
void autocomplete_free(Autocomplete ac);
gboolean autocomplete_add(Autocomplete ac, const char *item);
gboolean autocomplete_remove(Autocomplete ac, const char * const item);
GSList * autocomplete_get_list(Autocomplete ac);
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);
GSList * autocomplete_get_list(Autocomplete ac);
gint autocomplete_length(Autocomplete ac);
char * autocomplete_param_with_func(char *input, int *size, char *command,
autocomplete_func func);
char * autocomplete_param_with_ac(char *input, int *size, char *command,
Autocomplete ac);
char * autocomplete_param_no_with_func(char *input, int *size, char *command,
int arg_number, autocomplete_func func);
void autocomplete_reset(Autocomplete ac);
#endif