Rev 4365 | Rev 4556 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 4365 | Rev 4472 | ||
|---|---|---|---|
| Line 37... | Line 37... | ||
| 37 | 37 | ||
| 38 | #include <mem.h> |
38 | #include <mem.h> |
| 39 | #include <sys/types.h> |
39 | #include <sys/types.h> |
| 40 | #include <bool.h> |
40 | #include <bool.h> |
| 41 | 41 | ||
| 42 | #define U_SPECIAL '?' |
42 | #define U_SPECIAL '?' |
| 43 | #define U_BOM 0xfeff |
43 | #define U_BOM 0xfeff |
| 44 | 44 | ||
| 45 | /** No size limit constant */ |
45 | /** No size limit constant */ |
| 46 | #define STR_NO_LIMIT ((size_t) -1) |
46 | #define STR_NO_LIMIT ((size_t) -1) |
| 47 | 47 | ||
| 48 | /** Maximum size of a string containing @c length characters */ |
48 | /** Maximum size of a string containing @c length characters */ |
| Line 52... | Line 52... | ||
| 52 | extern int chr_encode(const wchar_t ch, char *str, size_t *offset, size_t sz); |
52 | extern int chr_encode(const wchar_t ch, char *str, size_t *offset, size_t sz); |
| 53 | 53 | ||
| 54 | extern size_t str_size(const char *str); |
54 | extern size_t str_size(const char *str); |
| 55 | extern size_t wstr_size(const wchar_t *str); |
55 | extern size_t wstr_size(const wchar_t *str); |
| 56 | 56 | ||
| 57 | extern size_t str_lsize(const char *str, count_t max_len); |
57 | extern size_t str_lsize(const char *str, size_t max_len); |
| 58 | extern size_t wstr_lsize(const wchar_t *str, count_t max_len); |
58 | extern size_t wstr_lsize(const wchar_t *str, size_t max_len); |
| 59 | 59 | ||
| 60 | extern count_t str_length(const char *str); |
60 | extern size_t str_length(const char *str); |
| 61 | extern count_t wstr_length(const wchar_t *wstr); |
61 | extern size_t wstr_length(const wchar_t *wstr); |
| 62 | 62 | ||
| 63 | extern count_t str_nlength(const char *str, size_t size); |
63 | extern size_t str_nlength(const char *str, size_t size); |
| 64 | extern count_t wstr_nlength(const wchar_t *str, size_t size); |
64 | extern size_t wstr_nlength(const wchar_t *str, size_t size); |
| 65 | 65 | ||
| 66 | extern bool ascii_check(wchar_t ch); |
66 | extern bool ascii_check(wchar_t ch); |
| 67 | extern bool chr_check(wchar_t ch); |
67 | extern bool chr_check(wchar_t ch); |
| 68 | 68 | ||
| 69 | extern int str_cmp(const char *s1, const char *s2); |
69 | extern int str_cmp(const char *s1, const char *s2); |
| 70 | extern int str_lcmp(const char *s1, const char *s2, count_t max_len); |
70 | extern int str_lcmp(const char *s1, const char *s2, size_t max_len); |
| 71 | 71 | ||
| 72 | extern void str_cpy(char *dest, size_t size, const char *src); |
72 | extern void str_cpy(char *dest, size_t size, const char *src); |
| 73 | extern void str_ncpy(char *dest, size_t size, const char *src, size_t n); |
73 | extern void str_ncpy(char *dest, size_t size, const char *src, size_t n); |
| 74 | extern void str_append(char *dest, size_t size, const char *src); |
74 | extern void str_append(char *dest, size_t size, const char *src); |
| 75 | 75 | ||
| 76 | extern void wstr_nstr(char *dst, const wchar_t *src, size_t size); |
76 | extern void wstr_nstr(char *dst, const wchar_t *src, size_t size); |
| 77 | 77 | ||
| 78 | extern const char *str_chr(const char *str, wchar_t ch); |
78 | extern const char *str_chr(const char *str, wchar_t ch); |
| 79 | extern const char *str_rchr(const char *str, wchar_t ch); |
79 | extern const char *str_rchr(const char *str, wchar_t ch); |
| 80 | 80 | ||
| 81 | extern bool wstr_linsert(wchar_t *str, wchar_t ch, count_t pos, count_t max_pos); |
81 | extern bool wstr_linsert(wchar_t *str, wchar_t ch, size_t pos, size_t max_pos); |
| 82 | extern bool wstr_remove(wchar_t *str, count_t pos); |
82 | extern bool wstr_remove(wchar_t *str, size_t pos); |
| 83 | 83 | ||
| 84 | extern char *str_dup(const char *); |
84 | extern char *str_dup(const char *); |
| 85 | 85 | ||
| 86 | /* |
86 | /* |
| 87 | * TODO: Get rid of this. |
87 | * TODO: Get rid of this. |