GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
OPENPAM_READLINEV(3) FreeBSD Library Functions Manual OPENPAM_READLINEV(3)

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

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

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.

If successful, the openpam_readlinev() function returns a pointer to a dynamically allocated array of pointers to individual dynamically allocated 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:

  • 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.
  • 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.
  • An error occurred while reading from the file; errno is non-zero, ferror(3) returns a non-zero value and feof(3) returns zero.
  • 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.

openpam_readline(3), openpam_readword(3), pam(3)

The openpam_readlinev() function is an OpenPAM extension.

The openpam_readlinev() function and this manual page were developed by Dag-Erling Smørgrav <des@des.no>.
February 24, 2019 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.