X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Futils_array.c;h=e7ac51e784fe9aaa5def1b5fac5fe2c6e0dd70fc;hb=7411750e5355656ba767517b201674aebb8312fa;hp=5aaabbc5c1d35d38e96ffef8af099775f7a0ed32;hpb=0ab3085f89e64eecd67d3179ea87f0463e918a10;p=collection4.git diff --git a/src/utils_array.c b/src/utils_array.c index 5aaabbc..e7ac51e 100644 --- a/src/utils_array.c +++ b/src/utils_array.c @@ -12,6 +12,14 @@ struct str_array_s size_t size; }; +static int sort_callback (const void *v0, const void *v1) /* {{{ */ +{ + const char *c0 = v0; + const char *c1 = v1; + + return (strcmp (c0, c1)); +} /* }}} int sort_callback */ + str_array_t *array_create (void) /* {{{ */ { str_array_t *a; @@ -76,6 +84,16 @@ int array_append_format (str_array_t *a, const char *format, ...) /* {{{ */ return (array_append (a, buffer)); } /* }}} int array_append_format */ +int array_sort (str_array_t *a) /* {{{ */ +{ + if (a == NULL) + return (EINVAL); + + qsort (a->ptr, a->size, sizeof (*a->ptr), sort_callback); + + return (0); +} /* }}} int array_sort */ + int array_argc (str_array_t *a) /* {{{ */ { if (a == NULL)