On Tue, 11.11.14 13:34, Jan Synacek (jsyna...@redhat.com) wrote: > >> + r = strv_extend(list, l); > >> + if (r < 0) > >> + return log_oom(); > > > > I think, while we are at it, this should really be reworked to use > > GREEDY_REALLOC. See strv_split_quoted() for an example. > > Could you please explain why? str_extend() uses realloc_multiply() > inside, which, to me, seems to be ok for this case.
strv_extend() increases the size of the strv one-by-one. GREEDY_REALLOC grows the array exponentially. Given that you use strv_extend() here to add quite a number of entries to the array it is hence a good idea to make use of GREEDY_REALLOC in favour of strv_extend(). strv_extend() is really something to avoid unless you know the number of entries stays low. If the strv might grow to more than a handful of entries it's a wise idea to use GREEDY_REALLOC instead. Lennart -- Lennart Poettering, Red Hat _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel