mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-08 18:36:17 +01:00
gconvert: Use a pointer array in extract_uris
Use a GPtrArray instead of a GSList in g_uri_list_extract_uris().
This commit is contained in:
parent
3bc9f57f26
commit
3ef229fd03
@ -1806,12 +1806,10 @@ g_filename_to_uri (const gchar *filename,
|
|||||||
gchar **
|
gchar **
|
||||||
g_uri_list_extract_uris (const gchar *uri_list)
|
g_uri_list_extract_uris (const gchar *uri_list)
|
||||||
{
|
{
|
||||||
GSList *uris, *u;
|
GPtrArray *uris;
|
||||||
const gchar *p, *q;
|
const gchar *p, *q;
|
||||||
gchar **result;
|
|
||||||
gint n_uris = 0;
|
|
||||||
|
|
||||||
uris = NULL;
|
uris = g_ptr_array_new ();
|
||||||
|
|
||||||
p = uri_list;
|
p = uri_list;
|
||||||
|
|
||||||
@ -1840,26 +1838,17 @@ g_uri_list_extract_uris (const gchar *uri_list)
|
|||||||
q--;
|
q--;
|
||||||
|
|
||||||
if (q > p)
|
if (q > p)
|
||||||
{
|
g_ptr_array_add (uris, g_strndup (p, q - p + 1));
|
||||||
uris = g_slist_prepend (uris, g_strndup (p, q - p + 1));
|
}
|
||||||
n_uris++;
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
p = strchr (p, '\n');
|
p = strchr (p, '\n');
|
||||||
if (p)
|
if (p)
|
||||||
p++;
|
p++;
|
||||||
}
|
}
|
||||||
|
|
||||||
result = g_new (gchar *, n_uris + 1);
|
g_ptr_array_add (uris, NULL);
|
||||||
|
|
||||||
result[n_uris--] = NULL;
|
return (gchar **) g_ptr_array_free (uris, FALSE);
|
||||||
for (u = uris; u; u = u->next)
|
|
||||||
result[n_uris--] = u->data;
|
|
||||||
|
|
||||||
g_slist_free (uris);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user