Add NULL to end of g_filename_complete_get_completions() return value

g_filename_complete_get_completions() return value is meant to be a
g_strfreev-compatible array i.e. NULL-terminated. However, pointer arrays
aren't automagically NULL-terminated. This fixes bug 586868
This commit is contained in:
Tom Parker 2009-06-26 22:43:31 -04:00 committed by Matthias Clasen
parent 657d0ad918
commit e7a258692c

View File

@ -470,7 +470,7 @@ g_filename_completer_get_completion_suffix (GFilenameCompleter *completer,
**/
char **
g_filename_completer_get_completions (GFilenameCompleter *completer,
const char *initial_text)
const char *initial_text)
{
GList *possible_matches, *l;
char *prefix;
@ -486,14 +486,16 @@ g_filename_completer_get_completions (GFilenameCompleter *completer,
for (l = possible_matches; l != NULL; l = l->next)
{
possible_match = l->data;
if (g_str_has_prefix (possible_match, prefix))
g_ptr_array_add (res,
g_strconcat (initial_text, possible_match + strlen (prefix), NULL));
}
g_free (prefix);
g_ptr_array_add (res, NULL);
return (char**)g_ptr_array_free (res, FALSE);
}