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

FreeBSD Manual Pages

  
 
  

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

NAME
     xt_read_line_malloc() - Read a line and allocate memory for it

LIBRARY
     #include <xtend/file.h>
     -lxtend

SYNOPSIS
     int     xt_read_line_malloc(FILE *stream, char **buff, size_t *buff_size,
     size_t *len)

ARGUMENTS
     stream:	 FILE stream from which field is read
     buff:	 Character buffer into which field is copied
     buff_size:  Size of the array passed to buff
     len:	 Pointer to a variable which will receive the field length

DESCRIPTION
     xt_read_line_malloc()  reads  a single line of text (up to the next newline
     or EOF) from stream, allocating and/or extending  the  provided  buffer  if
     needed.

     The  buff_size argument must be initilized to 0 if buff has not been previ-
     ously allocated.  This will cause an initial allocation to occur.	If  buff
     has  been	previously  allocated, the buff_size must accurately reflect the
     allocated memory size.  This will happen naturally when reusing buff  in  a
     loop, as shown in the example below.

RETURN VALUES
     Delimiter ending the read: either newline or EOF

EXAMPLES
     FILE    *stream;
     char    *buff;
     size_t  buff_len, len;

     // Reuse buff to minimize malloc() calls.	buff will be extended
     // as needed when longer strings are read.  Initialize buff here
     // rather than above for the most cohesive code.
     buff_len = 0;
     while ( ffile_read_line_malloc(stream, buff, &buff_len, &len) != EOF )
     {
     }

SEE ALSO
     xt_dsv_read_field_malloc(3), ffgetc(3)

							  xt_read_line_malloc(3)

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

home | help