1 /* ################################################################### */
2 /* Copyright 2015, Pierre Gentile (p.gen.progs@gmail.com) */
4 /* This Source Code Form is subject to the terms of the Mozilla Public */
5 /* License, v. 2.0. If a copy of the MPL was not distributed with this */
6 /* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
7 /* ################################################################### */
15 typedef struct interval_s interval_t
;
16 typedef struct range_s range_t
;
24 /* Structure used by the replace function to delimit matches */
25 /* """"""""""""""""""""""""""""""""""""""""""""""""""""""""" */
36 interval_comp(void const *a
, void const *b
);
39 interval_swap(void **a
, void **b
);
42 optimize_an_interval_list(ll_t
*list
);
45 concat(const char *str1
, ...);
48 strprefix(char *str1
, char *str2
);
51 ltrim(char *str
, const char *trim
);
54 rtrim(char *str
, const char *trim
, size_t min_len
);
57 my_strcasecmp(const char *str1
, const char *str2
);
60 my_strcpy(char *dst
, char *src
);
69 my_wcscasecmp(const wchar_t *w1s
, const wchar_t *w2s
);
72 is_integer(const char * const s
);
75 swap_string_parts(char **s
, size_t first
);
78 strrep(char *s
, const char c1
, const char c2
);
81 strprint(char const *s
);
84 hexdump(const char *buf
, FILE *fp
, const char *prefix
, size_t size
);
87 my_wcswidth(const wchar_t *s
, size_t n
);