xref: /csrg-svn/usr.bin/uucp/gnamef.c (revision 13653)
1*13653Ssam #ifndef lint
2*13653Ssam static char sccsid[] = "@(#)gnamef.c	5.1 (Berkeley) 07/02/83";
3*13653Ssam #endif
4*13653Ssam 
5*13653Ssam #include "uucp.h"
6*13653Ssam #include <sys/types.h>
7*13653Ssam #ifdef	NDIR
8*13653Ssam #include "ndir.h"
9*13653Ssam #else
10*13653Ssam #include <dir.h>
11*13653Ssam #endif
12*13653Ssam 
13*13653Ssam /*******
14*13653Ssam  *	gnamef(dirp, filename)	get next file name from directory
15*13653Ssam  *	DIR *dirp;
16*13653Ssam  *	char *filename;
17*13653Ssam  *
18*13653Ssam  *	return codes:
19*13653Ssam  *		0  -  end of directory read
20*13653Ssam  *		1  -  returned name
21*13653Ssam  */
22*13653Ssam 
23*13653Ssam gnamef(dirp, filename)
24*13653Ssam register DIR *dirp;
25*13653Ssam register char *filename;
26*13653Ssam {
27*13653Ssam 	register struct direct *dentp;
28*13653Ssam 
29*13653Ssam 	while (1) {
30*13653Ssam 		if ((dentp = readdir(dirp)) == NULL)
31*13653Ssam 			return(0);
32*13653Ssam 		if (dentp->d_ino != 0)
33*13653Ssam 			break;
34*13653Ssam 	}
35*13653Ssam 
36*13653Ssam 	/* Truncate filename.  This may become a problem someday. rti!trt */
37*13653Ssam 	strncpy(filename, dentp->d_name, NAMESIZE-1);
38*13653Ssam 	filename[NAMESIZE-1] = '\0';
39*13653Ssam 	return(1);
40*13653Ssam }
41