aboutsummaryrefslogtreecommitdiff
path: root/buffer.c
AgeCommit message (Collapse)AuthorFilesLines
2025-01-12buffer: drop buffer_move functionRandy Palamar1-6/+0
2025-01-11buffer: clear out one line functionsRandy Palamar1-17/+1
Buffer is fully exposed to the program, no need to rely on the linker to optimize useless code.
2025-01-11buffer: delete pointless buffer_init functionRandy Palamar1-6/+2
lets not make the code harder to read for no reason
2025-01-04remove duplicated read_buffer functionsRandy Palamar1-0/+5
When you take a pointer to a function in C that function is going to appear in full in the final binary. This means that there were 3 sections of the final binary with the exact same code. You could argue that in very high performance programs having that function closer to the current instruction when it is needed will give a performance boost but there are so many other places to gain more significant speed ups in vis before that would be remotely relevant. In fact, removing these allows the buffer_append call to inlined so that buffer_insert can be hopped to directly instead of including a useless hop in the middle.
2017-04-18buffer: simplify buffer_content0Marc André Tanner1-1/+1
2017-02-20buffer: fix integer overflow issueMarc André Tanner1-1/+2
2017-02-20buffer: add buffer_growMarc André Tanner1-2/+9
2017-02-20buffer: rename buffer_grow to buffer_reserveMarc André Tanner1-4/+4
2017-01-07buffer: make sure mem{cpy,move} are called with valid argumentsMarc André Tanner1-1/+5
2017-01-07buffer: fix buffer_move bugMarc André Tanner1-2/+1
Capacity also needs to be reset.
2017-01-07buffer: remove redundant functionMarc André Tanner1-4/+0
For some reason we ended up with two identical functions: buffer_{clear,terminate}.
2016-12-31buffer: implement buffer_moveMarc André Tanner1-0/+7
2016-12-22buffer: make default buffer size overridable via C pre-processorMarc André Tanner1-3/+5
2016-12-20buffer: implement buffer_capacity utility functionMarc André Tanner1-0/+4
2016-12-20buffer: implement buffer_appendf to append formatted contentMarc André Tanner1-13/+23
2016-12-20buffer: fix error case in buffer_append0Marc André Tanner1-3/+6
Do not change buffer length when failing to append.
2016-10-05Fix various issues reported by coverity scanMarc André Tanner1-1/+3
2016-08-20buffer: add buffer_remove implementationMarc André Tanner1-0/+10
2016-05-18buffer: implement buffer_{v,}printf functionsMarc André Tanner1-0/+23
2016-05-18buffer: add utility function to NUL terminate bufferMarc André Tanner1-0/+5
2016-04-03buffer: add buffer_content0 utility functionMarc André Tanner1-0/+6
2016-04-03buffer: add buffer_content utility functionMarc André Tanner1-0/+4
2016-04-03buffer: add buffer_length utility functionMarc André Tanner1-0/+4
2016-02-25vis: ignore trailing NUL byte of register content by defaultMarc André Tanner1-0/+7
This is handy when editing registers used for macros.
2016-01-30Implement system clipboard registers "* and "+Marc André Tanner1-0/+4
Both registers are currently treated identically. The actual system integration is performed by two shell scripts vis-copy and vis-paste.
2015-11-20buffer: tweak memory allocation strategyMarc André Tanner1-4/+1
Do not simply double the requested size. Instead take the maximum of - the requested size - double the current buffer size This will use less memory for large register operations (e.g. deleting the whole file).
2015-11-19buffer: add some comments to clarify allocation strategyMarc André Tanner1-0/+3
Closes #116
2015-11-03buffer: add buffer_insert to insert data at an arbitrary positionMarc André Tanner1-10/+19
Use it to implement buffer_{pre,ap}pend.
2015-10-05buffer: add functions to prepend data to an existing bufferMarc André Tanner1-0/+13
2015-09-15buffer: add buffer_put0 to store a NUL terminated stringMarc André Tanner1-1/+5
2015-09-15buffer: add buffer_append0 to append NUL terminated stringsMarc André Tanner1-0/+6
2015-05-16Cleanup general purpose buffer APIMarc André Tanner1-7/+9
Introduce buffer_init to initialize a stack allocated buffer. Rename buffer_{alloc,free} functions because they do something different than the usual convention. They operate on the underlying buffer data but do not allocate/free an actual Buffer struct.
2015-03-31Check return value of reallocMarc André Tanner1-5/+3
2015-01-02Constify buffer APIMarc André Tanner1-2/+2
2014-12-18Macro supportMarc André Tanner1-0/+54
At some point this should be optimized further at the moment there is some 20 byte overhead for each entered key.