aboutsummaryrefslogtreecommitdiff
path: root/tests/test61.c
diff options
context:
space:
mode:
authorToni Uhlig <matzeton@googlemail.com>2020-12-01 13:33:34 +0100
committerToni Uhlig <matzeton@googlemail.com>2020-12-01 13:33:34 +0100
commitc8bf38e5fb717d40635a2a89b22ed71b0de4266b (patch)
tree63751b2f5497c6f99e1c6a78f23a8e6e5c49833f /tests/test61.c
Squashed 'dependencies/uthash/' content from commit 8e67ced
git-subtree-dir: dependencies/uthash git-subtree-split: 8e67ced1d1c5bd8141c542a22630e6de78aa6b90
Diffstat (limited to 'tests/test61.c')
-rw-r--r--tests/test61.c53
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/test61.c b/tests/test61.c
new file mode 100644
index 000000000..bbb3d1079
--- /dev/null
+++ b/tests/test61.c
@@ -0,0 +1,53 @@
+#include <stdio.h>
+#include "utarray.h"
+
+static int strsort(const void *_a, const void *_b)
+{
+ const char *a = *(const char* const *)_a;
+ const char *b = *(const char* const *)_b;
+ return strcmp(a,b);
+}
+
+int main()
+{
+ UT_array *strs;
+ const char *s, **p;
+
+ utarray_new(strs,&ut_str_icd);
+
+ s = "hello";
+ utarray_push_back(strs, &s);
+ s = "world";
+ utarray_push_back(strs, &s);
+ s = "one";
+ utarray_push_back(strs, &s);
+ s = "two";
+ utarray_push_back(strs, &s);
+ s = "three";
+ utarray_push_back(strs, &s);
+
+ p = NULL;
+ while ( (p=(const char**)utarray_next(strs,p)) != NULL ) {
+ s = *p;
+ printf("%s\n",s);
+ }
+
+ printf("sorting\n");
+ utarray_sort(strs,strsort);
+
+ p = NULL;
+ while ( (p=(const char**)utarray_next(strs,p)) != NULL ) {
+ s = *p;
+ printf("finding %s\n",s);
+#ifdef __cplusplus
+ p = (const char**)utarray_find(strs,&s,strsort);
+#else
+ p = utarray_find(strs,&s,strsort);
+#endif
+ printf(" %s\n", (p != NULL) ? (*p) : "failed");
+ }
+
+ utarray_free(strs);
+
+ return 0;
+}