Mercurial > hg > th-libs
annotate th_string.h @ 457:85fa3d333556
Actually, revert the boolean changes .. meh.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 02 Jan 2018 23:09:29 +0200 |
parents | 347bfd3e017e |
children | 77ad030e82c9 |
rev | line source |
---|---|
0
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
1 /* |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
2 * Miscellaneous string-handling related utility-functions |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
3 * Programmed and designed by Matti 'ccr' Hamalainen |
454 | 4 * (C) Copyright 2002-2018 Tecnic Software productions (TNSP) |
0
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
5 * |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
6 * Please read file 'COPYING' for information on license and distribution. |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
7 */ |
438 | 8 /// @file |
9 /// @brief String utility functions | |
49
598609fb49b0
Change how "config.h" is included, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
35
diff
changeset
|
10 #ifndef TH_STRING_H |
598609fb49b0
Change how "config.h" is included, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
35
diff
changeset
|
11 #define TH_STRING_H |
0
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
12 |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
13 #include "th_util.h" |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
14 #include <stdlib.h> |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
15 #include <ctype.h> |
14
e5e6370217ef
Various cleanups, additions and removals.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
16 #include <stdarg.h> |
0
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
17 |
91 | 18 #ifdef __cplusplus |
19 extern "C" { | |
20 #endif | |
21 | |
438 | 22 /** @def String utility wrapper macros |
0
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
23 */ |
10 | 24 #define th_isalnum(c) isalnum((int)(unsigned char) c) |
25 #define th_isalpha(c) isalpha((int)(unsigned char) c) | |
26 #define th_isascii(c) isascii((int)(unsigned char) c) | |
27 #define th_isblank(c) isblank((int)(unsigned char) c) | |
28 #define th_iscntrl(c) iscntrl((int)(unsigned char) c) | |
29 #define th_isdigit(c) isdigit((int)(unsigned char) c) | |
30 #define th_isgraph(c) isgraph((int)(unsigned char) c) | |
31 #define th_islower(c) islower((int)(unsigned char) c) | |
32 #define th_isprint(c) isprint((int)(unsigned char) c) | |
33 #define th_ispunct(c) ispunct((int)(unsigned char) c) | |
34 #define th_isspace(c) isspace((int)(unsigned char) c) | |
35 #define th_isupper(c) isupper((int)(unsigned char) c) | |
36 #define th_isxdigit(c) isxdigit((int)(unsigned char) c) | |
37 #define th_iscrlf(c) ((c=='\r')||(c=='\n')) | |
0
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
38 |
10 | 39 #define th_isspecial(q) (((q >= 0x5b) && (q <= 0x60)) || ((q >= 0x7b) && (q <= 0x7d))) |
0
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
40 |
10 | 41 #define th_tolower(c) tolower((int)(unsigned char) c) |
42 #define th_toupper(c) toupper((int)(unsigned char) c) | |
0
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
43 |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
44 |
438 | 45 /** @def String trimming option flags for th_strdup_trim() |
46 */ | |
90
2b1f7f1ca8e4
Add new function th_strdup_trim().
Matti Hamalainen <ccr@tnsp.org>
parents:
89
diff
changeset
|
47 enum |
2b1f7f1ca8e4
Add new function th_strdup_trim().
Matti Hamalainen <ccr@tnsp.org>
parents:
89
diff
changeset
|
48 { |
372 | 49 TH_TRIM_START = 1, |
50 TH_TRIM_END = 2, | |
51 TH_TRIM_BOTH = 3 | |
90
2b1f7f1ca8e4
Add new function th_strdup_trim().
Matti Hamalainen <ccr@tnsp.org>
parents:
89
diff
changeset
|
52 }; |
2b1f7f1ca8e4
Add new function th_strdup_trim().
Matti Hamalainen <ccr@tnsp.org>
parents:
89
diff
changeset
|
53 |
2b1f7f1ca8e4
Add new function th_strdup_trim().
Matti Hamalainen <ccr@tnsp.org>
parents:
89
diff
changeset
|
54 |
438 | 55 /** @def Internal *printf() implementation flags |
56 */ | |
299
0311f139fcf6
Refactor how various printf modifier flags etc. are handled. Still needs
Matti Hamalainen <ccr@tnsp.org>
parents:
279
diff
changeset
|
57 enum |
0311f139fcf6
Refactor how various printf modifier flags etc. are handled. Still needs
Matti Hamalainen <ccr@tnsp.org>
parents:
279
diff
changeset
|
58 { |
372 | 59 TH_PF_NONE = 0x0000, |
60 TH_PF_ALT = 0x0001, | |
61 TH_PF_SIGN = 0x0002, | |
62 TH_PF_SPACE = 0x0004, | |
63 TH_PF_GROUP = 0x0008, | |
299
0311f139fcf6
Refactor how various printf modifier flags etc. are handled. Still needs
Matti Hamalainen <ccr@tnsp.org>
parents:
279
diff
changeset
|
64 |
372 | 65 TH_PF_ZERO = 0x0100, |
66 TH_PF_LEFT = 0x0200, | |
330
b2c4b0b4d44f
Add initial support for ll and L printf modifiers.
Matti Hamalainen <ccr@tnsp.org>
parents:
309
diff
changeset
|
67 |
372 | 68 TH_PF_LONG = 0x1000, |
69 TH_PF_LONGLONG = 0x2000, | |
70 TH_PF_POINTER = 0x4000, | |
71 TH_PF_UPCASE = 0x8000, | |
299
0311f139fcf6
Refactor how various printf modifier flags etc. are handled. Still needs
Matti Hamalainen <ccr@tnsp.org>
parents:
279
diff
changeset
|
72 }; |
0311f139fcf6
Refactor how various printf modifier flags etc. are handled. Still needs
Matti Hamalainen <ccr@tnsp.org>
parents:
279
diff
changeset
|
73 |
0311f139fcf6
Refactor how various printf modifier flags etc. are handled. Still needs
Matti Hamalainen <ccr@tnsp.org>
parents:
279
diff
changeset
|
74 |
438 | 75 /** @def Internal *printf() context structure |
76 */ | |
251
7b76108248e9
More work on printing functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
77 typedef struct |
7b76108248e9
More work on printing functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
78 { |
439 | 79 char *buf; ///< Resulting string buffer pointer (might not be used if printing to file or such) |
438 | 80 size_t size, pos; ///< Size of result string buffer, and current position in it |
81 int ipos; ///< Signed position | |
439 | 82 void *data; ///< Pointer to other data (for example a FILE pointer) |
374
1d8ae82304ec
Rename s/th_printf_ctx/th_vprintf_cts/g.
Matti Hamalainen <ccr@tnsp.org>
parents:
373
diff
changeset
|
83 } th_vprintf_ctx; |
251
7b76108248e9
More work on printing functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
84 |
7b76108248e9
More work on printing functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
232
diff
changeset
|
85 |
448 | 86 /** @def putch() helper function typedef for internal printf() implementation |
438 | 87 */ |
374
1d8ae82304ec
Rename s/th_printf_ctx/th_vprintf_cts/g.
Matti Hamalainen <ccr@tnsp.org>
parents:
373
diff
changeset
|
88 typedef int (*th_vprintf_putch)(th_vprintf_ctx *ctx, const char ch); |
277
7450d744e633
Rename internal functions and add a typedef for function pointer used for vputch().
Matti Hamalainen <ccr@tnsp.org>
parents:
268
diff
changeset
|
89 |
7450d744e633
Rename internal functions and add a typedef for function pointer used for vputch().
Matti Hamalainen <ccr@tnsp.org>
parents:
268
diff
changeset
|
90 |
0
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
91 /* Normal NUL-terminated string functions |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
92 */ |
186
1ee46a95aa8c
Clean up the code, add argument identifiers to function prototypes and
Matti Hamalainen <ccr@tnsp.org>
parents:
167
diff
changeset
|
93 char *th_strdup(const char *src); |
1ee46a95aa8c
Clean up the code, add argument identifiers to function prototypes and
Matti Hamalainen <ccr@tnsp.org>
parents:
167
diff
changeset
|
94 char *th_strndup(const char *src, const size_t n); |
1ee46a95aa8c
Clean up the code, add argument identifiers to function prototypes and
Matti Hamalainen <ccr@tnsp.org>
parents:
167
diff
changeset
|
95 char *th_strdup_trim(const char *, const int flags); |
220
099a1a156fd7
Implement th_strndup_trim() and factorize implementation of th_strdup_trim().
Matti Hamalainen <ccr@tnsp.org>
parents:
186
diff
changeset
|
96 char *th_strndup_trim(const char *, const size_t n, const int flags); |
81 | 97 |
186
1ee46a95aa8c
Clean up the code, add argument identifiers to function prototypes and
Matti Hamalainen <ccr@tnsp.org>
parents:
167
diff
changeset
|
98 int th_strcasecmp(const char *haystack, const char *needle); |
1ee46a95aa8c
Clean up the code, add argument identifiers to function prototypes and
Matti Hamalainen <ccr@tnsp.org>
parents:
167
diff
changeset
|
99 int th_strncasecmp(const char *haystack, const char *needle, size_t n); |
1ee46a95aa8c
Clean up the code, add argument identifiers to function prototypes and
Matti Hamalainen <ccr@tnsp.org>
parents:
167
diff
changeset
|
100 char *th_strrcasecmp(char *haystack, const char *needle); |
1ee46a95aa8c
Clean up the code, add argument identifiers to function prototypes and
Matti Hamalainen <ccr@tnsp.org>
parents:
167
diff
changeset
|
101 void th_strip_ctrlchars(char *str); |
0
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
102 |
228
ca9cd98dbcff
Initial work on printf() style function family implementation.
Matti Hamalainen <ccr@tnsp.org>
parents:
220
diff
changeset
|
103 int th_vsnprintf(char *buf, size_t size, const char *fmt, va_list ap); |
ca9cd98dbcff
Initial work on printf() style function family implementation.
Matti Hamalainen <ccr@tnsp.org>
parents:
220
diff
changeset
|
104 int th_snprintf(char *buf, size_t size, const char *fmt, ...); |
ca9cd98dbcff
Initial work on printf() style function family implementation.
Matti Hamalainen <ccr@tnsp.org>
parents:
220
diff
changeset
|
105 int th_vfprintf(FILE *fh, const char *fmt, va_list ap); |
ca9cd98dbcff
Initial work on printf() style function family implementation.
Matti Hamalainen <ccr@tnsp.org>
parents:
220
diff
changeset
|
106 int th_fprintf(FILE *fh, const char *fmt, ...); |
ca9cd98dbcff
Initial work on printf() style function family implementation.
Matti Hamalainen <ccr@tnsp.org>
parents:
220
diff
changeset
|
107 |
ca9cd98dbcff
Initial work on printf() style function family implementation.
Matti Hamalainen <ccr@tnsp.org>
parents:
220
diff
changeset
|
108 |
186
1ee46a95aa8c
Clean up the code, add argument identifiers to function prototypes and
Matti Hamalainen <ccr@tnsp.org>
parents:
167
diff
changeset
|
109 char *th_strdup_vprintf(const char *fmt, va_list ap); |
1ee46a95aa8c
Clean up the code, add argument identifiers to function prototypes and
Matti Hamalainen <ccr@tnsp.org>
parents:
167
diff
changeset
|
110 char *th_strdup_printf(const char *fmt, ...); |
14
e5e6370217ef
Various cleanups, additions and removals.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
111 |
186
1ee46a95aa8c
Clean up the code, add argument identifiers to function prototypes and
Matti Hamalainen <ccr@tnsp.org>
parents:
167
diff
changeset
|
112 void th_pstr_vprintf(char **buf, const char *fmt, va_list ap); |
1ee46a95aa8c
Clean up the code, add argument identifiers to function prototypes and
Matti Hamalainen <ccr@tnsp.org>
parents:
167
diff
changeset
|
113 void th_pstr_printf(char **buf, const char *fmt, ...); |
30
10d2dc143e4b
Add helper functions th_pstr_vprintf() and th_pstr_printf().
Matti Hamalainen <ccr@tnsp.org>
parents:
29
diff
changeset
|
114 |
443
1d2d214ac433
Rename functions th_pstrcat() and th_pstrcpy() to th_pstr_cat() and th_pstr_cpy()
Matti Hamalainen <ccr@tnsp.org>
parents:
439
diff
changeset
|
115 int th_pstr_cpy(char **pdst, const char *src); |
1d2d214ac433
Rename functions th_pstrcat() and th_pstrcpy() to th_pstr_cat() and th_pstr_cpy()
Matti Hamalainen <ccr@tnsp.org>
parents:
439
diff
changeset
|
116 int th_pstr_cat(char **pdst, const char *src); |
186
1ee46a95aa8c
Clean up the code, add argument identifiers to function prototypes and
Matti Hamalainen <ccr@tnsp.org>
parents:
167
diff
changeset
|
117 |
0
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
118 |
451
db45d6d2e576
Expose some of the internal vprintf() implementation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
448
diff
changeset
|
119 /* Internal printf() implementation. NOTICE! This API may be unstable. |
db45d6d2e576
Expose some of the internal vprintf() implementation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
448
diff
changeset
|
120 */ |
db45d6d2e576
Expose some of the internal vprintf() implementation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
448
diff
changeset
|
121 int th_vprintf_do(th_vprintf_ctx *ctx, th_vprintf_putch vputch, const char *fmt, va_list ap); |
db45d6d2e576
Expose some of the internal vprintf() implementation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
448
diff
changeset
|
122 int th_vprintf_put_str(th_vprintf_ctx *ctx, th_vprintf_putch vputch, |
db45d6d2e576
Expose some of the internal vprintf() implementation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
448
diff
changeset
|
123 const char *str, int f_flags, const int f_width, const int f_prec); |
db45d6d2e576
Expose some of the internal vprintf() implementation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
448
diff
changeset
|
124 int th_vprintf_put_int(th_vprintf_ctx *ctx, th_vprintf_putch vputch, |
db45d6d2e576
Expose some of the internal vprintf() implementation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
448
diff
changeset
|
125 va_list ap, const int f_radix, int f_flags, int f_width, int f_prec, |
457
85fa3d333556
Actually, revert the boolean changes .. meh.
Matti Hamalainen <ccr@tnsp.org>
parents:
454
diff
changeset
|
126 const BOOL f_unsig, char *(f_alt)(const char *buf, const size_t blen, const int vret, const int flags)); |
451
db45d6d2e576
Expose some of the internal vprintf() implementation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
448
diff
changeset
|
127 int th_vprintf_put_int_format(th_vprintf_ctx *ctx, th_vprintf_putch vputch, |
db45d6d2e576
Expose some of the internal vprintf() implementation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
448
diff
changeset
|
128 char *buf, int f_flags, int f_width, int f_prec, int f_len, int vret, |
457
85fa3d333556
Actually, revert the boolean changes .. meh.
Matti Hamalainen <ccr@tnsp.org>
parents:
454
diff
changeset
|
129 BOOL f_neg, BOOL f_unsig, char *(f_alt)(const char *buf, const size_t blen, const int vret, const int flags)); |
451
db45d6d2e576
Expose some of the internal vprintf() implementation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
448
diff
changeset
|
130 |
452
4471eadea472
Oops, forgot to rename th_printf_altfmt_* from the header file.
Matti Hamalainen <ccr@tnsp.org>
parents:
451
diff
changeset
|
131 char * th_vprintf_altfmt_oct(const char *buf, const size_t len, const int vret, const int flags); |
4471eadea472
Oops, forgot to rename th_printf_altfmt_* from the header file.
Matti Hamalainen <ccr@tnsp.org>
parents:
451
diff
changeset
|
132 char * th_vprintf_altfmt_hex(const char *buf, const size_t len, const int vret, const int flags); |
4471eadea472
Oops, forgot to rename th_printf_altfmt_* from the header file.
Matti Hamalainen <ccr@tnsp.org>
parents:
451
diff
changeset
|
133 |
451
db45d6d2e576
Expose some of the internal vprintf() implementation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
448
diff
changeset
|
134 |
db45d6d2e576
Expose some of the internal vprintf() implementation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
448
diff
changeset
|
135 #define TH_PFUNC_NAME th_vprintf_buf_int |
db45d6d2e576
Expose some of the internal vprintf() implementation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
448
diff
changeset
|
136 #define TH_PFUNC_TYPE_S int |
db45d6d2e576
Expose some of the internal vprintf() implementation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
448
diff
changeset
|
137 #define TH_PFUNC_TYPE_U unsigned int |
db45d6d2e576
Expose some of the internal vprintf() implementation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
448
diff
changeset
|
138 #define TH_PFUNC_HEADER 1 |
db45d6d2e576
Expose some of the internal vprintf() implementation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
448
diff
changeset
|
139 #include "th_printf1.c" |
db45d6d2e576
Expose some of the internal vprintf() implementation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
448
diff
changeset
|
140 |
db45d6d2e576
Expose some of the internal vprintf() implementation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
448
diff
changeset
|
141 |
db45d6d2e576
Expose some of the internal vprintf() implementation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
448
diff
changeset
|
142 #define TH_PFUNC_NAME th_vprintf_buf_int64 |
db45d6d2e576
Expose some of the internal vprintf() implementation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
448
diff
changeset
|
143 #define TH_PFUNC_TYPE_S int64_t |
db45d6d2e576
Expose some of the internal vprintf() implementation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
448
diff
changeset
|
144 #define TH_PFUNC_TYPE_U uint64_t |
db45d6d2e576
Expose some of the internal vprintf() implementation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
448
diff
changeset
|
145 #define TH_PFUNC_HEADER 1 |
db45d6d2e576
Expose some of the internal vprintf() implementation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
448
diff
changeset
|
146 #include "th_printf1.c" |
db45d6d2e576
Expose some of the internal vprintf() implementation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
448
diff
changeset
|
147 |
db45d6d2e576
Expose some of the internal vprintf() implementation helper functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
448
diff
changeset
|
148 |
78 | 149 /* Parsing, matching |
150 */ | |
14
e5e6370217ef
Various cleanups, additions and removals.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
151 const char *th_findnext(const char *, size_t *); |
e5e6370217ef
Various cleanups, additions and removals.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
152 const char *th_findsep(const char *, size_t *, char); |
e5e6370217ef
Various cleanups, additions and removals.
Matti Hamalainen <ccr@tnsp.org>
parents:
10
diff
changeset
|
153 const char *th_findseporspace(const char *, size_t *, char); |
0
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
154 |
457
85fa3d333556
Actually, revert the boolean changes .. meh.
Matti Hamalainen <ccr@tnsp.org>
parents:
454
diff
changeset
|
155 BOOL th_strmatch(const char *haystack, const char *pattern); |
85fa3d333556
Actually, revert the boolean changes .. meh.
Matti Hamalainen <ccr@tnsp.org>
parents:
454
diff
changeset
|
156 BOOL th_strcasematch(const char *haystack, const char *pattern); |
0
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
157 |
186
1ee46a95aa8c
Clean up the code, add argument identifiers to function prototypes and
Matti Hamalainen <ccr@tnsp.org>
parents:
167
diff
changeset
|
158 int th_get_hex_triplet(const char *str); |
457
85fa3d333556
Actually, revert the boolean changes .. meh.
Matti Hamalainen <ccr@tnsp.org>
parents:
454
diff
changeset
|
159 BOOL th_get_boolean(const char *str, BOOL *value); |
0
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
160 |
162
578d9298cc1e
Actually, move th_print_wrap() to th_string module.
Matti Hamalainen <ccr@tnsp.org>
parents:
144
diff
changeset
|
161 void th_print_wrap(FILE *fh, const char *str, int spad, int rpad, int width); |
578d9298cc1e
Actually, move th_print_wrap() to th_string module.
Matti Hamalainen <ccr@tnsp.org>
parents:
144
diff
changeset
|
162 |
21
1f7d8693fda8
Add functions for growing a string/buffer and concatenating characters and/or other strings to it.
Matti Hamalainen <ccr@tnsp.org>
parents:
14
diff
changeset
|
163 |
0
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
164 #ifdef __cplusplus |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
165 } |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
166 #endif |
129 | 167 #endif // TH_STRING_H |