diff options
| author | Albert Cervin <albert@acervin.com> | 2023-04-06 23:23:46 +0200 |
|---|---|---|
| committer | Albert Cervin <albert@acervin.com> | 2023-05-01 22:19:14 +0200 |
| commit | a123725a12e948d78badb2cb686d38548f1c633b (patch) | |
| tree | c92c46134ef5536fbbf3bf08983c4f0dea1aaf58 /src/vec.h | |
| parent | b5ed4cf757afc50afb6ac499eee7b87a2648fa4c (diff) | |
| download | dged-a123725a12e948d78badb2cb686d38548f1c633b.tar.gz dged-a123725a12e948d78badb2cb686d38548f1c633b.tar.xz dged-a123725a12e948d78badb2cb686d38548f1c633b.zip | |
Implement window handling
Also implement searching.
fix undo boundaries
when it checked for other save point, it used && instead of == which
caused it to overwrite other types.
Fix bytes vs chars bug in text_get_region
Diffstat (limited to 'src/vec.h')
| -rw-r--r-- | src/vec.h | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/src/vec.h b/src/vec.h deleted file mode 100644 index 2d5bd32..0000000 --- a/src/vec.h +++ /dev/null @@ -1,61 +0,0 @@ -#ifndef _VEC_H -#define _VEC_H - -#define VEC(entry) \ - struct { \ - entry *entries; \ - uint32_t nentries; \ - uint32_t capacity; \ - } - -#define VEC_INIT(vec, initial_capacity) \ - (vec)->entries = malloc(sizeof((vec)->entries[0]) * initial_capacity); \ - (vec)->capacity = initial_capacity; \ - (vec)->nentries = 0; - -#define VEC_DESTROY(vec) \ - free((vec)->entries); \ - (vec)->entries = NULL; \ - (vec)->capacity = 0; \ - (vec)->nentries = 0; - -#define VEC_GROW(vec, new_size) \ - if (new_size > (vec)->capacity) { \ - (vec)->capacity = new_size; \ - (vec)->entries = realloc((vec)->entries, \ - (sizeof((vec)->entries[0]) * (vec)->capacity)); \ - } - -#define VEC_PUSH(vec, entry) \ - if ((vec)->nentries + 1 >= (vec)->capacity) { \ - VEC_GROW(vec, (vec)->capacity * 2); \ - } \ - \ - (vec)->entries[(vec)->nentries] = entry; \ - ++(vec)->nentries; - -#define VEC_APPEND(vec, var) \ - if ((vec)->nentries + 1 >= (vec)->capacity) { \ - VEC_GROW(vec, (vec)->capacity * 2); \ - } \ - \ - var = &((vec)->entries[(vec)->nentries]); \ - ++(vec)->nentries; - -#define VEC_FOR_EACH(vec, var) VEC_FOR_EACH_INDEXED(vec, var, i) - -#define VEC_FOR_EACH_INDEXED(vec, var, idx) \ - for (uint32_t keep = 1, idx = 0, size = (vec)->nentries; \ - keep && idx != size; keep = !keep, idx++) \ - for (var = (vec)->entries + idx; keep; keep = !keep) - -#define VEC_SIZE(vec) (vec)->nentries -#define VEC_CAPACITY(vec) (vec)->capacity -#define VEC_ENTRIES(vec) (vec)->entries -#define VEC_EMPTY(vec) ((vec)->nentries == 0) - -#define VEC_CLEAR(vec) (vec)->nentries = 0 -#define VEC_BACK(vec) \ - ((vec)->nentries > 0 ? &((vec)->entries[(vec)->nentries - 1]) : NULL) - -#endif |
