summaryrefslogtreecommitdiff
path: root/man/getln.3
blob: bb4ae7ce64b053af8e1d8ec9f96fe7a7c2529592 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
.TH glibs: getln 3
.SH NAME
getln \ - read one line of data  
.SH SYNTAX
.B #include \(dqgetln.h\(dq

int \fBgetln\fP(&buffer_0,&sa,&match,sep);
.br
int \fBgetln2\fP(&buffer_0,&sa,&cont,&clen,sep);

buffer \fIbuffer_0\fR; 
.br
stralloc \fIsa\fR; 
.br
int \fImatch\fR; 
.br
int \fIsep\fR;  
.br
char *\fIcont\fR; 
.br
unsigned int \fIclen\fR; 
.SH DESCRIPTION
.B getln 
reads a line of characters, terminated by a sep character, from 
.IR buffer_0 . 
It returns the line in 
.I sa 
and sets match to 
.IR 1 .
If 
.B getln 
sees end-of-input before it sees 
.IR sep , 
it returns the partial line in 
.I sa 
and sets match to
.IR  0 .

.B getln2 
reads a line of characters, terminated by a 
.I sep 
character, from 
.IR buffer_0 .
The line is returned in two pieces. The first piece is stored in 
.IR sa . 
The second piece is 
.IR cont , 
a pointer to 
.I clen 
characters inside the 
.I buffer_0 
buffer. The second piece must be copied somewhere else before 
.I ss 
is used again.
If 
.B getln2 
sees end-of-input before it sees 
.IR sep , 
it sets 
.I clen 
to 
.I 0 
and does not set 
.IR cont . 
It puts the partial line into 
.IR sa.
.SH "RETURN CODES"
.B getln 
normally returns 
.IR 0 . 
If it runs out of memory, or encounters an error from 
.IR ss , 
it returns 
.IR -1 , 
setting 
.I errno 
appropriately.  

.B getln2 
normally returns 
.IR 0 . 
If it runs out of memory, or encounters an error from 
.IR ss , 
it returns 
.IR -1 , 
setting 
.I errno 
appropriately.  
.SH NOTE
The input buffer
.I buffer_0
is already pre-allocated. 
It can be used without initialization as synonym for STDIN.
.SH CREDITS
The
.B getln 
and
.B getln2
man page were taken from Bruce Guenther and 
originally published by Dan Bernstein for qmail-1.03.
.SH SEE ALSO
stralloc(3)