xref: /csrg-svn/usr.bin/uucp/gnamef.c (revision 13702)
113653Ssam #ifndef lint
2*13702Ssam static char sccsid[] = "@(#)gnamef.c	5.2 (Berkeley) 07/02/83";
313653Ssam #endif
413653Ssam 
513653Ssam #include "uucp.h"
613653Ssam #include <sys/types.h>
713653Ssam #ifdef	NDIR
813653Ssam #include "ndir.h"
913653Ssam #else
10*13702Ssam #include <sys/dir.h>
1113653Ssam #endif
1213653Ssam 
1313653Ssam /*******
1413653Ssam  *	gnamef(dirp, filename)	get next file name from directory
1513653Ssam  *	DIR *dirp;
1613653Ssam  *	char *filename;
1713653Ssam  *
1813653Ssam  *	return codes:
1913653Ssam  *		0  -  end of directory read
2013653Ssam  *		1  -  returned name
2113653Ssam  */
2213653Ssam 
2313653Ssam gnamef(dirp, filename)
2413653Ssam register DIR *dirp;
2513653Ssam register char *filename;
2613653Ssam {
2713653Ssam 	register struct direct *dentp;
2813653Ssam 
2913653Ssam 	while (1) {
3013653Ssam 		if ((dentp = readdir(dirp)) == NULL)
3113653Ssam 			return(0);
3213653Ssam 		if (dentp->d_ino != 0)
3313653Ssam 			break;
3413653Ssam 	}
3513653Ssam 
3613653Ssam 	/* Truncate filename.  This may become a problem someday. rti!trt */
3713653Ssam 	strncpy(filename, dentp->d_name, NAMESIZE-1);
3813653Ssam 	filename[NAMESIZE-1] = '\0';
3913653Ssam 	return(1);
4013653Ssam }
41