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

FreeBSD Manual Pages

  
 
  

home | help
OPENPAM_READLINEV(3)	 BSD Library Functions Manual	  OPENPAM_READLINEV(3)

NAME
     openpam_readlinev -- read a line from a file and split it into words

SYNOPSIS
     #include <sys/types.h>
     #include <stdio.h>
     #include <security/pam_appl.h>
     #include <security/openpam.h>

     char **
     openpam_readlinev(FILE *f,	int *lineno, int *lenp);

DESCRIPTION
     The openpam_readlinev() function reads a line from	a file,	splits it into
     words according to	the rules described in the openpam_readword(3) manual
     page, and returns a list of those words.

     If	lineno is not NULL, the	integer	variable it points to is incremented
     every time	a newline character is read.  This includes quoted or escaped
     newline characters	and the	newline	character at the end of	the line.

     If	lenp is	not NULL, the number of	words on the line is stored in the
     variable to which it points.

RETURN VALUES
     If	successful, the	openpam_readlinev() function returns a pointer to a
     dynamically allocated array of pointers to	individual dynamically allo-
     cated NUL-terminated strings, each	containing a single word, in the order
     in	which they were	encountered on the line.  The array is terminated by a
     NULL pointer.

     The caller	is responsible for freeing both	the array and the individual
     strings by	passing	each of	them to	free(3).

     If	the end	of the line was	reached	before any words were read,
     openpam_readlinev() returns a pointer to a	dynamically allocated array
     containing	a single NULL pointer.

     The openpam_readlinev() function can fail and return NULL for one of four
     reasons:

     +o	 The end of the	file was reached before	any words were read; errno is
	 zero, ferror(3) returns zero, and feof(3) returns a non-zero value.

     +o	 The end of the	file was reached while a quote or backslash escape was
	 in effect; errno is set to EINVAL, ferror(3) returns zero, and
	 feof(3) returns a non-zero value.

     +o	 An error occurred while reading from the file;	errno is non-zero,
	 ferror(3) returns a non-zero value and	feof(3)	returns	zero.

     +o	 A malloc(3) or	realloc(3) call	failed;	errno is set to	ENOMEM,
	 ferror(3) returns a non-zero value, and feof(3) may or	may not	return
	 a non-zero value.

SEE ALSO
     openpam_readline(3), openpam_readword(3), pam(3)

STANDARDS
     The openpam_readlinev() function is an OpenPAM extension.

AUTHORS
     The openpam_readlinev() function and this manual page were	developed by
     Dag-Erling	Smorgrav <des@des.no>.

BSD				April 30, 2017				   BSD

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | SEE ALSO | STANDARDS | AUTHORS

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

home | help