xref: /csrg-svn/usr.bin/uucp/gnamef.c (revision 17835)
113653Ssam #ifndef lint
2*17835Sralph static char sccsid[] = "@(#)gnamef.c	5.3 (Berkeley) 01/22/85";
313653Ssam #endif
413653Ssam 
513653Ssam #include "uucp.h"
613653Ssam #include <sys/types.h>
713653Ssam #ifdef	NDIR
813653Ssam #include "ndir.h"
913653Ssam #else
1013702Ssam #include <sys/dir.h>
1113653Ssam #endif
1213653Ssam 
13*17835Sralph /*
14*17835Sralph  *	get next file name from directory
1513653Ssam  *
1613653Ssam  *	return codes:
1713653Ssam  *		0  -  end of directory read
1813653Ssam  *		1  -  returned name
1913653Ssam  */
2013653Ssam 
2113653Ssam gnamef(dirp, filename)
2213653Ssam register DIR *dirp;
2313653Ssam register char *filename;
2413653Ssam {
2513653Ssam 	register struct direct *dentp;
2613653Ssam 
27*17835Sralph 	for (;;) {
28*17835Sralph 		if ((dentp = readdir(dirp)) == NULL) {
29*17835Sralph 			return 0;
30*17835Sralph 		}
3113653Ssam 		if (dentp->d_ino != 0)
3213653Ssam 			break;
3313653Ssam 	}
3413653Ssam 
35*17835Sralph 	/* Truncate filename.  This may become a problem someday. */
3613653Ssam 	strncpy(filename, dentp->d_name, NAMESIZE-1);
3713653Ssam 	filename[NAMESIZE-1] = '\0';
38*17835Sralph 	DEBUG(99,"gnamef returns %s\n",filename);
39*17835Sralph 	return 1;
4013653Ssam }
41