comparison lib/util.h @ 18:600204c31bf0

misc: refactor
author David Demelier <markand@malikania.fr>
date Tue, 12 Jul 2022 20:20:51 +0200
parents util.h@215c0c3b3609
children de4bf839b565
comparison
equal deleted inserted replaced
17:40fe70256fb0 18:600204c31bf0
1 /*
2 * util.h -- miscellaneous utilities
3 *
4 * Copyright (c) 2021 David Demelier <markand@malikania.fr>
5 *
6 * Permission to use, copy, modify, and/or distribute this software for any
7 * purpose with or without fee is hereby granted, provided that the above
8 * copyright notice and this permission notice appear in all copies.
9 *
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 */
18
19 #ifndef SCI_UTIL_H
20 #define SCI_UTIL_H
21
22 #include <stddef.h>
23 #include <stdio.h>
24
25 #define UTIL_SIZE(x) (sizeof (x) / sizeof (x[0]))
26
27 void *
28 util_malloc(size_t);
29
30 void *
31 util_calloc(size_t, size_t);
32
33 void *
34 util_realloc(void *, size_t);
35
36 void *
37 util_reallocarray(void *, size_t, size_t);
38
39 void *
40 util_memdup(const void *, size_t);
41
42 char *
43 util_strdup(const char *);
44
45 char *
46 util_strndup(const char *, size_t);
47
48 char *
49 util_basename(const char *);
50
51 char *
52 util_dirname(const char *);
53
54 FILE *
55 util_fmemopen(void *, size_t, const char *);
56
57 char *
58 util_printf(char *, size_t, const char *, ...);
59
60 char *
61 util_read(const char *);
62
63 const char *
64 util_path(const char *);
65
66 #endif /* !SCI_UTIL_H */