Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
TBUF(3)			   Library Functions Manual		       TBUF(3)

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

SYNOPSIS
       #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);

DESCRIPTION
       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.   In-
       stead,  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	imple-
       ment 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.

RETURN VALUE
       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.

SEE ALSO
       publib(3), sbuf(3)

AUTHOR
       Lars Wirzenius, liw@iki.fi.

								       TBUF(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=tbuf_length&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help