Pavel Roskin wrote:
On Fri, 2009-07-24 at 23:02 +0200, Christian Franke wrote:
A correct performance-aware solution would look like:
#ifdef DT_DIR
if (de->d_type == DT_DIR)
info.dir = 1;
else if (de->type == DT_FILE)
There in no DT_FILE in glibc, but there is DT_REG.
Yes correct.
DT_UNKNOWN is
present. Perhaps the above line should be
else if (de->type != DT_UNKNOWN)
We only care if it's a directory or not. All other objects can be
treated like files.
It depends: If DT_UNKNOWN is used, you have to replace stat() by lstat()
in is_dir(). Otherwise symlinked directories would be appear as dir only
if d_type == DT_UNKNOWN and not if d_type == DT_LNK.
I'm fine either way, whether we fix the "high-performance" code or
remove it, as long as we don't have to add more checks.
I would suggest to remove it.
--
Regards,
Christian Franke
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel