Introduction
Introduction Statistics Contact Development Disclaimer Help
util.h - ledit - Text editor (WIP)
git clone git://lumidify.org/ledit.git (fast, but not encrypted)
git clone https://lumidify.org/ledit.git (encrypted, but very slow)
git clone git://4kcetb7mo7hj6grozzybxtotsub5bempzo4lirzc3437amof2c2impyd.onion/…
Log
Files
Refs
README
LICENSE
---
util.h (1605B)
---
1 #ifndef _UTIL_H_
2 #define _UTIL_H_
3
4 /*
5 * Return the position of the next start of a utf8 character.
6 * If there is none, the position of the terminating NUL is
7 * returned.
8 */
9 char *next_utf8(char *str);
10
11 /*
12 * Same as above, but also works with non-nul-terminated strings.
13 * Instead of a pointer, the index of the next utf8 char is
14 * returned.
15 */
16 size_t next_utf8_len(char *str, size_t len);
17
18 /*
19 * Add size_t values and abort if overflow would occur.
20 * FIXME: Maybe someone with actual experience could tell me
21 * if this overflow checking actually works.
22 */
23 size_t add_sz(size_t a, size_t b);
24 size_t add_sz3(size_t a, size_t b, size_t c);
25
26 void swap_sz(size_t *a, size_t *b);
27 void sort_range(size_t *l1, size_t *b1, size_t *l2, size_t *b2);
28
29 /*
30 * Compare the nul-terminated string 'terminated' with the char
31 * array 'array' with length 'len'.
32 * Returns non-zero if they are equal, 0 otherwise.
33 */
34 /* Note: this doesn't work if array contains '\0'. */
35 int str_array_equal(const char *terminated, const char *array, size_t le…
36
37 #define LEDIT_MIN(x, y) ((x) < (y) ? (x) : (y))
38 #define LEDIT_MAX(x, y) ((x) > (y) ? (x) : (y))
39
40 /* Apparently, ISO C99 requires at least one argument for
41 variadic macros, so there are two versions of the macro here. */
42 #ifdef LEDIT_DEBUG
43 #define ledit_debug(fmt) do {fprintf(stderr, "%s:%d: " fmt, __FI…
44 #define ledit_debug_fmt(fmt, ...) do {fprintf(stderr, "%s:%d: " …
45 #else
46 #define ledit_debug(fmt) do {} while (0)
47 #define ledit_debug_fmt(fmt, ...) do {} while (0)
48 #endif
49
50 #endif
You are viewing proxied material from lumidify.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.