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 buf-
       fer, 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)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | SEE ALSO | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=tbuf_create&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help