getdelim man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

GETLINE(3C)							   GETLINE(3C)

NAME
       getline, getdelim - read delimited input from streams

SYNOPSIS
       #include <stdio.h>

       ssize_t getline(char **restrict ptr, size_t *restrict cap,
	   FILE *restrict stream);

       ssize_t getdelim(char **restrict ptr, size_t *restrict cap,
	   int delimiter, FILE *restrict stream);

DESCRIPTION
       The  getdelim() function reads bytes from the stream into the the array
       pointed to by ptr, until the delimiter byte or an end-of-file condition
       is  encountered.	 The getline() function is identical in behaviour, but
       uses the newline character as the delimiter.  The  delimiter  character
       is  included  in	 the string (unless end-of-file was reached first) and
       the string is terminated with a null byte.

       The caller may pass a pre-allocated malloc(3C) buffer  as  *ptr,	 along
       with  the  capacity  of	that buffer as *cap.  It is also valid to pass
       NULL for *ptr and 0 for *cap, at which point memory will	 be  allocated
       automatically.	If the buffer provided is not large enough to hold the
       string it will be expanded, as if via  realloc(3C).   The  caller  must
       free(3C) the buffer when it is no longer required.

RETURN VALUES
       If  successful,	getdelim()  and	 getline()  return the number of bytes
       written into the buffer, excluding the terminating null	byte.	If  an
       error  occurs, or if end-of-file is reached prior to reading any bytes,
       the value −1 is returned and errno is set to indicate the error.

ERRORS
       The getline() and getdelim() functions may fail due  to	the  following
       errors:

       EINVAL
		    Either  ptr	 or  cap  are  NULL, or the delimiter is not a
		    valid character.

       EOVERFLOW
		    More than SSIZE_MAX characters were read from  the	stream
		    without encountering the delimiter.

       The  getline() and getdelim() functions may also fail and set errno for
       any of the errors specified for the  library  routines  realloc(3C)  or
       fgetc(3C).

EXAMPLES
       Example 1 Read a line from stdin.

       The following example uses getline to read a line from stdin.

	 #include <stdio.h>
	 ...
	 char *ptr = NULL;
	 size_t cap = 0;

	 if (getline(&ptr, &cap, stdin) == -1) {
	     perror("getline");
	     exit(1);
	 }
	 fprintf(stdout, "input line: %s", ptr);

	 free(ptr);

ATTRIBUTES
       ┌────────────────────┬─────────────────┐
       │  ATTRIBUTE TYPE    │ ATTRIBUTE VALUE │
       ├────────────────────┼─────────────────┤
       │Interface Stability │ Committed	      │
       ├────────────────────┼─────────────────┤
       │MT-Level	    │ MT-Safe	      │
       └────────────────────┴─────────────────┘

SEE ALSO
       fgetc(3C), fgets(3C), free(3C), malloc(3C), realloc(3C), attributes(5)

				 Apr 24, 2013			   GETLINE(3C)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net