Date: Sat, 23 Jan 1999 13:36:53 +0100 (CET) From: Alexander Leidinger <netchild@wurzelausix.CS.Uni-SB.DE> To: bde@zeta.org.au Cc: current@FreeBSD.ORG Subject: Re: readdir & cd9660 & direntp->d_type == bug (more) Message-ID: <199901231238.NAA29562@wurzelausix> In-Reply-To: <199901221132.WAA17787@godzilla.zeta.org.au>
next in thread | previous in thread | raw e-mail | index | archive | help
On 22 Jan, Bruce Evans wrote: >>/cdrom: >>. (type: unknown) >>.. (type: unknown) >>autorun.inf (type: unknown) > > This is because the cd9660 file system doesn't implement d_type. man dirent or man readdir didn`t note that it`s possible to have this behavior. >>#define _POSIX_SOURCE >> >>#include <sys/types.h> >>#include <dirent.h> >>... >> while((dent_p = readdir(dir_p))) >> { >> printf("%-40s (type: %s)\n", dent_p->d_name, types[dent_p->d_type]); >> } > > This probably shouldn't compile, since d_type isn't in POSIX.1. POSIX.1 It compiles, output above. > only guarantees d_name in struct dirent. Names beginning with d_ are > reserved for use in <dirent.h>, but FreeBSD normally attempts to give > strict POSIX.1 if _POSIX_SOURCE is defined. So it`s a bug, but in a different way I want. :( Without _POSIX_SOURCE it didn`t work either. Is it useless, because we can only say "it works _perhaps_" (and we have to stat the entry), or is it a bug? Bye, Alexander. -- http://netchild.home.pages.de A.Leidinger @ wurzelausix.cs.uni-sb.de To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199901231238.NAA29562>