go to
> publib(3)
Homepage > Man Pages > Category > Subroutines
Homepage > Man Pages > Name > T


man page of tbuf_cat

tbuf_cat: manipulate text editor buffer


tbuf_create, tbuf_destroy, tbuf_copy, tbuf_cat, tbuf_length, tbuf_chars - manipulate text editor buffer


#include <publib.h> Tbuf *tbuf_create(const char *chars, size_t len); void tbuf_destroy(Tbuf *tbuf); Tbuf *tbuf_copy(Tbuf *tbuf, size_t offset, size_tlen); Tbuf *tbuf_cat(Tbuf *tbuf, Tbuf * tbuf); size_t tbuf_length(Tbuf *tbuf); void tbuf_chars(char *chars, Tbuf *tbuf, size_t offset, size_t len);
These routines create and manipulate simple text editor buffers, which can also be thought of as arbitrarily large text strings. The buffers are one-dimensional (i.e., not automatically divided into lines), and are indexed with character offsets. They are 8-bit and binary clean, i.e., they may contain any 8-bit characters, including the zero byte ('\0'). tbuf_create creates a buffer from a C character array, and tbuf_destroy destroys it. Once it's created, a buffer may not be modified. Instead, a new buffer needs to be created, using tbuf_cat and tbuf_copy. They create the new buffer so that it shares as much memory as possible with the old buffer, so the immutability does not necessarily waste memory much. By never changing a buffer, it is rather simple to implement undo and redo: you only need to keep a list of buffers and display the suitable one to the user. The caller should remember to call tbuf_destroy for unnecessary buffers, of course. tbuf_length returns the number of characters in the buffer. tbuf_copy copies part of a buffer into a C character array. The array is not zero-terminated; the caller must do it himself.
tbuf_create, tbuf_copy, and tbuf_cat return a pointer to the new buffer, or NULL if the operation failed. tbuf_length returns the number of characters in the buffer. tbuf_destroy and tbuf_chars return nothing and cannot fail.


publib(3), sbuf(3)


Lars Wirzenius, liw@iki.fi. TBUF_CAT(3)

Copyright © 2011–2018 by topics-of-interest.com . All rights reserved. Hosted by all-inkl.
Contact · Imprint · Privacy

Page generated in 28.25ms.

information-information.de | doomsdaydude.de | dfptutorial.com