summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/libstdio/fgets.c
blob: c613d452d019c50f1a5155a72002bb2973459dad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "dietstdio.h"

extern int ferror(FILE *stream);

char *fgets(char *s, int size, FILE *stream) {
  char *orig=s;
  int l;
  for (l=size; l>0;) {
    int c=fgetc(stream);
    if (c==EOF) break;
    *s=c;
    ++s;
    --l;
    if (c=='\n') break;
  }
  if (l==size || ferror(stream))
    return 0;
  *s=0;
  return orig;
}