diff options
| author | Laurent Bercot <ska-skaware@skarnet.org> | 2025-10-17 20:55:48 +0000 |
|---|---|---|
| committer | Laurent Bercot <ska-skaware@skarnet.org> | 2025-10-17 20:55:48 +0000 |
| commit | 1d769dd630932b265cd15bb2e5b97459766e3125 (patch) | |
| tree | d76bd3467c5b0388b6fecfcf435f85897b8a27aa /src/libstddjb | |
| parent | 96b537f42695da1b865588baf591fdfcae76bd41 (diff) | |
| download | skalibs-1d769dd630932b265cd15bb2e5b97459766e3125.tar.gz | |
Add string qsort/bsearch cmp functions and avltreeb wrappers
Diffstat (limited to 'src/libstddjb')
| -rw-r--r-- | src/libstddjb/bytestr-internal.h | 11 | ||||
| -rw-r--r-- | src/libstddjb/fd_unlock.c | 2 | ||||
| -rw-r--r-- | src/libstddjb/gol_main.c | 2 | ||||
| -rw-r--r-- | src/libstddjb/str_bcmp.c | 10 | ||||
| -rw-r--r-- | src/libstddjb/str_cmp.c | 10 | ||||
| -rw-r--r-- | src/libstddjb/stringkey_bcmp.c | 12 | ||||
| -rw-r--r-- | src/libstddjb/stringkey_cmp.c | 13 |
7 files changed, 58 insertions, 2 deletions
diff --git a/src/libstddjb/bytestr-internal.h b/src/libstddjb/bytestr-internal.h new file mode 100644 index 0000000..effb0c5 --- /dev/null +++ b/src/libstddjb/bytestr-internal.h @@ -0,0 +1,11 @@ +/* ISC license. */ + +#ifndef BYTESTR_INTERNAL_H +#define BYTESTR_INTERNAL_H + +struct stringkey_s +{ + char const *s ; +} ; + +#endif diff --git a/src/libstddjb/fd_unlock.c b/src/libstddjb/fd_unlock.c index 64984b9..f9758b5 100644 --- a/src/libstddjb/fd_unlock.c +++ b/src/libstddjb/fd_unlock.c @@ -8,7 +8,7 @@ void fd_unlock (int fd) { - struct flock fl = + static struct flock const fl = { .l_type = F_UNLCK, .l_whence = SEEK_SET, diff --git a/src/libstddjb/gol_main.c b/src/libstddjb/gol_main.c index 1915fca..d7b1026 100644 --- a/src/libstddjb/gol_main.c +++ b/src/libstddjb/gol_main.c @@ -7,7 +7,7 @@ unsigned int gol_main (int argc, char const *const *argv, gol_bool const *b, unsigned int bn, gol_arg const *a, unsigned int an, uint64_t *br, char const **ar) { - if (argc < 1 || argv[argc]) strerr_diefu1x(100, "gol: invalid argc/argv") ; + if (argc < 1 || argv[argc]) strerr_diefu1x(103, "gol: invalid argc/argv") ; if (argc == 1) return 1 ; return 1 + gol_argv(argv + 1, b, bn, a, an, br, ar) ; } diff --git a/src/libstddjb/str_bcmp.c b/src/libstddjb/str_bcmp.c new file mode 100644 index 0000000..e2248e1 --- /dev/null +++ b/src/libstddjb/str_bcmp.c @@ -0,0 +1,10 @@ +/* ISC license. */ + +#include <string.h> + +#include <skalibs/bytestr.h> + +int str_bcmp (void const *a, void const *b) +{ + return strcmp((char const *)a, *(char const *const *)b) ; +} diff --git a/src/libstddjb/str_cmp.c b/src/libstddjb/str_cmp.c new file mode 100644 index 0000000..b19b834 --- /dev/null +++ b/src/libstddjb/str_cmp.c @@ -0,0 +1,10 @@ +/* ISC license. */ + +#include <string.h> + +#include <skalibs/bytestr.h> + +int str_cmp (void const *a, void const *b) +{ + return strcmp(*(char const *const *)a, *(char const *const *)b) ; +} diff --git a/src/libstddjb/stringkey_bcmp.c b/src/libstddjb/stringkey_bcmp.c new file mode 100644 index 0000000..e77c35e --- /dev/null +++ b/src/libstddjb/stringkey_bcmp.c @@ -0,0 +1,12 @@ +/* ISC license. */ + +#include <string.h> + +#include <skalibs/bytestr.h> +#include "bytestr-internal.h" + +int stringkey_bcmp (void const *a, void const *b) +{ + struct stringkey_s const *bb = b ; + return strcmp((char const *)a, bb->s) ; +} diff --git a/src/libstddjb/stringkey_cmp.c b/src/libstddjb/stringkey_cmp.c new file mode 100644 index 0000000..5c683c1 --- /dev/null +++ b/src/libstddjb/stringkey_cmp.c @@ -0,0 +1,13 @@ +/* ISC license. */ + +#include <string.h> + +#include <skalibs/bytestr.h> +#include "bytestr-internal.h" + +int stringkey_cmp (void const *a, void const *b) +{ + struct stringkey_s const *aa = a ; + struct stringkey_s const *bb = b ; + return strcmp(aa->s, bb->s) ; +} |
