---
name: "getln2"
section: "3"
platform: "linux"
package: "qmail"
version: "1.06-6.2~deb10u1"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/getln2"
---

# getln2(3)

read one line of data

## NAME

getln2 - read one line of data

## SYNTAX

**#include \<getln.h\>**

int **getln2**(&*ss*,&*sa*,&*cont*,&*clen*,*sep*);

substdio *ss*;\
 stralloc *sa*;\
 char \**cont*;\
 unsigned int *clen*;\
 int *sep*;

## DESCRIPTION

**getln2** reads a line of characters, terminated by a  *sep* character, from *ss*.

The line is returned in two pieces. The first piece is stored in *sa*. The second piece is *cont*, a pointer to *clen* characters inside the *ss* buffer. The second piece must be copied somewhere else before *ss* is used again.

If **getln2** sees end-of-input before it sees *sep*, it sets *clen* to 0 and does not set *cont*. It puts the partial line into *sa*.

**getln2** normally returns 0. If it runs out of memory, or encounters an error from *ss*, it returns -1, setting **errno** appropriately.

## SEE ALSO

[stralloc(3)](/stralloc/3.md), substdio(3), [getln(3)](/getln/3.md)
