1 : /* Copyright (c) 2007 Paul Rosenfeld
2 : James Antill -- See LICENSE file for terms. */
3 : #ifndef USTR_REPLACE_H
4 : #define USTR_REPLACE_H 1
5 :
6 : #ifndef USTR_MAIN_H
7 : # error " You should include ustr-main.h before this file, or just ustr.h"
8 : #endif
9 :
10 : USTR_CONF_E_PROTO size_t ustr_replace_buf(struct Ustr **,
11 : const void *, size_t,
12 : const void *, size_t, size_t)
13 : USTR__COMPILE_ATTR_NONNULL_A();
14 : USTR_CONF_EI_PROTO
15 : size_t ustr_replace_cstr(struct Ustr **, const char *, const char *, size_t)
16 : USTR__COMPILE_ATTR_NONNULL_A();
17 : USTR_CONF_E_PROTO size_t ustr_replace(struct Ustr **, const struct Ustr *,
18 : const struct Ustr *, size_t)
19 : USTR__COMPILE_ATTR_NONNULL_A();
20 : USTR_CONF_E_PROTO
21 : size_t ustr_replace_rep_chr(struct Ustr **, char, size_t, char, size_t, size_t)
22 : USTR__COMPILE_ATTR_NONNULL_L((1));
23 :
24 :
25 : USTR_CONF_E_PROTO
26 : size_t ustrp_replace_buf(struct Ustr_pool *, struct Ustrp **,
27 : const void *, size_t, const void *, size_t, size_t)
28 : USTR__COMPILE_ATTR_NONNULL_L((2, 3, 5));
29 : USTR_CONF_EI_PROTO
30 : size_t ustrp_replace_cstr(struct Ustr_pool *, struct Ustrp **,
31 : const char *, const char *, size_t)
32 : USTR__COMPILE_ATTR_NONNULL_L((2, 3, 4));
33 : USTR_CONF_E_PROTO
34 : size_t ustrp_replace(struct Ustr_pool *, struct Ustrp **,
35 : const struct Ustrp *, const struct Ustrp *, size_t)
36 : USTR__COMPILE_ATTR_NONNULL_L((2, 3, 4));
37 : USTR_CONF_E_PROTO
38 : size_t ustrp_replace_rep_chr(struct Ustr_pool *, struct Ustrp **,
39 : char, size_t, char, size_t, size_t)
40 : USTR__COMPILE_ATTR_NONNULL_L((2));
41 :
42 : #if USTR_CONF_INCLUDE_INTERNAL_HEADERS
43 : # include "ustr-replace-internal.h"
44 : #endif
45 :
46 : #if USTR_CONF_INCLUDE_CODEONLY_HEADERS
47 : # include "ustr-replace-code.h"
48 : #endif
49 :
50 : #if USTR_CONF_COMPILE_USE_INLINE
51 : USTR_CONF_II_PROTO
52 : size_t ustrp_replace_cstr(struct Ustr_pool *p, struct Ustrp **s1,
53 : const char *oc, const char *nc, size_t lim)
54 12 : { return (ustrp_replace_buf(p, s1, oc, strlen(oc), nc, strlen(nc), lim)); }
55 : USTR_CONF_II_PROTO
56 : size_t ustr_replace_cstr(struct Ustr **s1, const char *oc, const char *nc,
57 : size_t lim)
58 48 : { return (ustr_replace_buf(s1, oc, strlen(oc), nc, strlen(nc), lim)); }
59 : #endif
60 :
61 :
62 : #endif
|