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

char *fgets(char *s, int size, FILE *stream) {
  char *orig=s;
  int l;
  for (l=size; l>1;) {
    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;
}