mirror of
https://git.jabber.space/devs/cproof.git
synced 2026-07-20 18:36:21 +00:00
Merge branch 'master' into readline
This commit is contained in:
@@ -1962,23 +1962,31 @@ _cmd_complete_parameters(const char * const input)
|
||||
if (nick_ac) {
|
||||
gchar *nick_choices[] = { "/msg", "/info", "/caps", "/status", "/software" } ;
|
||||
|
||||
// Remove quote character before and after names when doing autocomplete
|
||||
char *unquoted = strip_arg_quotes(input);
|
||||
for (i = 0; i < ARRAY_SIZE(nick_choices); i++) {
|
||||
result = autocomplete_param_with_ac(input, nick_choices[i], nick_ac, TRUE);
|
||||
result = autocomplete_param_with_ac(unquoted, nick_choices[i], nick_ac, TRUE);
|
||||
if (result) {
|
||||
free(unquoted);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
free(unquoted);
|
||||
}
|
||||
|
||||
// otherwise autocomplete using roster
|
||||
} else {
|
||||
gchar *contact_choices[] = { "/msg", "/info", "/status" };
|
||||
// Remove quote character before and after names when doing autocomplete
|
||||
char *unquoted = strip_arg_quotes(input);
|
||||
for (i = 0; i < ARRAY_SIZE(contact_choices); i++) {
|
||||
result = autocomplete_param_with_func(input, contact_choices[i], roster_contact_autocomplete);
|
||||
result = autocomplete_param_with_func(unquoted, contact_choices[i], roster_contact_autocomplete);
|
||||
if (result) {
|
||||
free(unquoted);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
free(unquoted);
|
||||
|
||||
gchar *resource_choices[] = { "/caps", "/software", "/ping" };
|
||||
for (i = 0; i < ARRAY_SIZE(resource_choices); i++) {
|
||||
|
||||
22
src/common.c
22
src/common.c
@@ -578,3 +578,25 @@ get_file_or_linked(char *loc, char *basedir)
|
||||
|
||||
return true_loc;
|
||||
}
|
||||
|
||||
char *
|
||||
strip_arg_quotes(const char * const input)
|
||||
{
|
||||
char *unquoted = strdup(input);
|
||||
|
||||
// Remove starting quote if it exists
|
||||
if(strchr(unquoted, '"') != NULL) {
|
||||
if(strchr(unquoted, ' ') + 1 == strchr(unquoted, '"')) {
|
||||
memmove(strchr(unquoted, '"'), strchr(unquoted, '"')+1, strchr(unquoted, '\0') - strchr(unquoted, '"'));
|
||||
}
|
||||
}
|
||||
|
||||
// Remove ending quote if it exists
|
||||
if(strchr(unquoted, '"') != NULL) {
|
||||
if(strchr(unquoted, '\0') - 1 == strchr(unquoted, '"')) {
|
||||
memmove(strchr(unquoted, '"'), strchr(unquoted, '"')+1, strchr(unquoted, '\0') - strchr(unquoted, '"'));
|
||||
}
|
||||
}
|
||||
|
||||
return unquoted;
|
||||
}
|
||||
|
||||
@@ -131,5 +131,6 @@ int cmp_win_num(gconstpointer a, gconstpointer b);
|
||||
int get_next_available_win_num(GList *used);
|
||||
|
||||
char* get_file_or_linked(char *loc, char *basedir);
|
||||
char * strip_arg_quotes(const char * const input);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user