]>
Commit | Line | Data |
---|---|---|
8abcf290 DB |
1 | #ifndef UTIL_LINUX_STRUTILS |
2 | #define UTIL_LINUX_STRUTILS | |
3 | ||
4 | #include <inttypes.h> | |
5 | #include <string.h> | |
ce877f2d | 6 | #include <sys/types.h> |
8abcf290 DB |
7 | |
8 | extern int strtosize(const char *str, uintmax_t *res); | |
a9f97001 | 9 | extern double strtod_or_err(const char *str, const char *errmesg); |
8abcf290 | 10 | extern long strtol_or_err(const char *str, const char *errmesg); |
94d32126 | 11 | extern long long strtoll_or_err(const char *str, const char *errmesg); |
e53bc960 | 12 | extern unsigned long strtoul_or_err(const char *str, const char *errmesg); |
8abcf290 DB |
13 | |
14 | #ifndef HAVE_STRNLEN | |
15 | extern size_t strnlen(const char *s, size_t maxlen); | |
16 | #endif | |
17 | #ifndef HAVE_STRNDUP | |
18 | extern char *strndup(const char *s, size_t n); | |
19 | #endif | |
20 | #ifndef HAVE_STRNCHR | |
21 | extern char *strnchr(const char *s, size_t maxlen, int c); | |
22 | #endif | |
23 | ||
24 | /* caller guarantees n > 0 */ | |
25 | static inline void xstrncpy(char *dest, const char *src, size_t n) | |
26 | { | |
27 | strncpy(dest, src, n-1); | |
28 | dest[n-1] = 0; | |
29 | } | |
ce877f2d KZ |
30 | |
31 | extern void strmode(mode_t mode, char *str); | |
5d2a9849 FC |
32 | |
33 | /* Options for size_to_human_string() */ | |
34 | enum | |
35 | { | |
36 | SIZE_SUFFIX_1LETTER = 0, | |
37 | SIZE_SUFFIX_3LETTER = 1, | |
38 | SIZE_SUFFIX_SPACE = 2 | |
39 | }; | |
40 | ||
41 | extern char *size_to_human_string(int options, uint64_t bytes); | |
ce877f2d | 42 | |
c87638ad KZ |
43 | extern int string_to_idarray(const char *list, int ary[], size_t arysz, |
44 | int (name2id)(const char *, size_t)); | |
45 | extern int string_to_bitarray(const char *list, char *ary, | |
46 | int (*name2bit)(const char *, size_t)); | |
47 | ||
af7df9ee | 48 | extern int parse_range(const char *str, int *lower, int *upper, int def); |
a883c634 | 49 | |
b106d052 PU |
50 | extern int streq_except_trailing_slash(const char *s1, const char *s2); |
51 | ||
8abcf290 | 52 | #endif |