chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
klibc: version 1.0.14
[elogind.git]
/
klibc
/
klibc
/
fgets.c
1
/*
2
* fgets.c
3
*
4
* This will be very slow due to the implementation of getc(),
5
* but we can't afford to drain characters we don't need from
6
* the input.
7
*/
8
9
#include <stdio.h>
10
11
char *fgets(char *s, int n, FILE *f)
12
{
13
int ch;
14
char *p = s;
15
16
while ( n > 1 ) {
17
ch = getc(f);
18
if ( ch == EOF ) {
19
*p = '\0';
20
return NULL;
21
}
22
*p++ = ch;
23
n--;
24
if ( ch == '\n' )
25
break;
26
}
27
if ( n )
28
*p = '\0';
29
30
return s;
31
}
32
33
34