github.com/afumu/libc@v0.0.6/musl/src/passwd/fgetspent.c (about)

     1  #include "pwf.h"
     2  #include <pthread.h>
     3  
     4  struct spwd *fgetspent(FILE *f)
     5  {
     6  	static char *line;
     7  	static struct spwd sp;
     8  	size_t size = 0;
     9  	struct spwd *res = 0;
    10  	int cs;
    11  	pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &cs);
    12  	if (getline(&line, &size, f) >= 0 && __parsespent(line, &sp) >= 0) res = &sp;
    13  	pthread_setcancelstate(cs, 0);
    14  	return res;
    15  }