On Tue, 2005-12-20 at 23:48 +0000, Paul LeoNerd Evans wrote: > That said, I don't see why we need a new split function, on reflection. > Maybe a: > > GString** g_string_new_strv(gchar** a); > > would be useful; it would return a NULL-terminated array of new > GString*s, each one wrapping a string from the original array. Thus, to > form a GString** one could > > gchar** sv = g_strsplit(original_string->str, delim); > GString** gsv = g_string_new_strv(sv); > g_strfreev(sv); > > So easily providing what I intended for g_string_split(), but being less > added code, and more useful.
What I don't understand is why you want to end up with a list or array of GString. gchar **names = g_strsplit(namelist, ","); gchar **p; for (p = names; *p; p++) { GString *praise = g_string_new(*p); g_string_append(praise, " is a great person); g_printf("%s", praise->str); g_string_free(praise); } g_strfreev(names); Or whatever. If I *really* want a GList of GString, then: gchar **names = g_strsplit(namelist, ","); gchar **p; GList *l = NULL; for (p = names; *p; p++) g_list_prepend(l, g_string_new(*p)); g_strfreev(names); return g_list_reverse(l); Isn't a lot of code; if it was a common operation, then sure I'd get annoyed writing it over and over again. But unless you are using GString as your string type (which I think is wrong), it strikes me as quite rare. Regards, Owen _______________________________________________ gtk-devel-list mailing list gtk-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-devel-list