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

FreeBSD Manual Pages

  
 
  

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

NAME
       fparseln	-- return the next logical line	from a stream

LIBRARY
       System Utilities	Library	(libutil, -lutil)

SYNOPSIS
       #include	<stdio.h>
       #include	<libutil.h>

       char *
       fparseln(FILE *stream,		size_t *len,	       size_t *lineno,
	   const char delim[3],	int flags);

DESCRIPTION
       The fparseln() function returns a pointer to the	next logical line from
       the stream referenced by	stream.	 This string is	NUL terminated and  it
       is  dynamically allocated on each invocation.  It is the	responsibility
       of the caller to	free the pointer.

       By default, if a	character is escaped, both it and the preceding	escape
       character will be present in the	returned string.  Various flags	 alter
       this behaviour.

       The meaning of the arguments is as follows:

       stream  The stream to read from.

       len     If  not	NULL, the length of the	string is stored in the	memory
	       location	to which it points.

       lineno  If not NULL, the	value of  the  memory  location	 to  which  is
	       pointed to, is incremented by the number	of lines actually read
	       from the	file.

       delim   Contains	 the escape, continuation, and comment characters.  If
	       a character is NUL then processing for that character  is  dis-
	       abled.  If NULL,	all characters default to values specified be-
	       low.  The contents of delim is as follows:

	       delim[0]	 The escape character, which defaults to \, is used to
			 remove	any special meaning from the next character.

	       delim[1]	 The  continuation  character, which defaults to \, is
			 used to indicate that the next	line  should  be  con-
			 catenated  with  the current one if this character is
			 the last character on the current line	and is not es-
			 caped.

	       delim[2]	 The comment character,	which defaults to  #,  if  not
			 escaped indicates the beginning of a comment that ex-
			 tends until the end of	the current line.

       flags   If  non-zero,  alter  the operation of fparseln().  The various
	       flags, which may	be or-ed together, are:

	       FPARSELN_UNESCCOMM  Remove escape preceding an escaped comment.

	       FPARSELN_UNESCCONT  Remove escape preceding an escaped continu-
				   ation.

	       FPARSELN_UNESCESC   Remove escape preceding an escaped escape.

	       FPARSELN_UNESCREST  Remove escape preceding any	other  charac-
				   ter.

	       FPARSELN_UNESCALL   All of the above.

RETURN VALUES
       Upon  successful	 completion  a pointer to the parsed line is returned;
       otherwise, NULL is returned.

       The fparseln() function uses internally fgetln(3), so all error	condi-
       tions  that  apply  to  fgetln(3),  apply  to  fparseln().  In addition
       fparseln() may set errno	to ENOMEM and return NULL if it	 runs  out  of
       memory.

SEE ALSO
       fgetln(3)

HISTORY
       The fparseln() function first appeared in NetBSD	1.4 and	FreeBSD	4.0.

FreeBSD	15.0		       December	1, 1997			   FPARSELN(3)

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

home | help