summaryrefslogtreecommitdiff
path: root/edit.h
diff options
context:
space:
mode:
authorJune McEnroe2022-02-20 15:26:23 -0500
committerJune McEnroe2022-02-20 15:42:24 -0500
commite39bba1a8a2fda74bcfd06f728b7e1fddadef161 (patch)
tree2add7aeaba4d0c69116c2f672d05e407fbffcdb3 /edit.h
parentcca9688cca171dc3ee6ac24822bdd8c315997759 (diff)
Move mbs out of struct Edit, use a global buffer
This saves 4K in the edit buffers, not to mention all the heap allocations for the separate mbs buffers! There might be a way to be more clever about capacities, but I don't think it's worth it.
Diffstat (limited to 'edit.h')
-rw-r--r--edit.h8
1 files changed, 2 insertions, 6 deletions
diff --git a/edit.h b/edit.h
index 49adb7f..9cf814b 100644
--- a/edit.h
+++ b/edit.h
@@ -42,10 +42,6 @@ struct Edit {
wchar_t *buf;
size_t len;
} cut;
- struct {
- char *buf;
- size_t pos;
- } mbs;
};
enum EditFn {
@@ -76,8 +72,8 @@ int editVi(struct Edit *e, wchar_t ch);
// Insert a character at the cursor.
int editInsert(struct Edit *e, wchar_t ch);
-// Convert the buffer to a multi-byte string stored in e->mbs.
-char *editString(struct Edit *e);
+// Convert the buffer to a multi-byte string.
+char *editString(const struct Edit *e, char **buf, size_t *cap, size_t *pos);
// Free all buffers.
void editFree(struct Edit *e);