can anybody tell me what's the official meaning of the 'st_flags' member of the 'stat' structure? zView uses it in a pretty dangerous way:
if ( stat( de->d_name, &file_stat) != 0)
continue;
if (( file_stat.st_flags & 2) == FA_HIDDEN)
...
but in mintlib, I see it's reserved for some user data and even there some strange code is done (files do_stat.c and quickstat.c):
st->st_flags = 0;
st->st_mode = 0644 | (isdir ? S_IFDIR | 0111 : S_IFREG);
:
[nothing changes st_flags nor the 'st' structure]
:
if (st->st_flags & FA_RDONLY)
st->st_mode &= ~0222; /* no write permission */
if (st->st_flags & FA_HIDDEN)
st->st_mode &= ~0444; /* no read permission */
Yeah, that's right, it zeroes the variable and then test it for some TOS-only flags. I think it's quite a mess because it's nowhere documented plus it doesn't do what one could guess it is supposed to do (i.e. setting TOS-compatible flags in a Unix call).
--
MiKRO / Mystic Bytes
http://mikro.atari.org