On Dec 18 22:00, Brian Inglis wrote: > On 2018-12-18 01:13, Corinna Vinschen wrote: > > On Dec 17 16:46, Steven Penny wrote: > >> Compare Cygwin: > >> $ ls -1 -N /cygdrive/c > >> $Recycle.Bin > >> cygwin64 > >> Documents and Settings > >> pagefile.sys > >> PerfLogs > >> Program Files > >> Program Files (x86) > >> ProgramData > >> Recovery > >> System Volume Information > >> Users > >> Windows > >> With Command Prompt: > >> > dir /A:-S C: > >> 2018-12-08 10:14 AM <DIR> cygwin64 > >> 2009-07-13 09:20 PM <DIR> PerfLogs > >> 2018-12-15 06:05 PM <DIR> Program Files > >> 2018-12-15 05:21 PM <DIR> Program Files (x86) > >> 2018-10-31 06:07 PM <DIR> ProgramData > >> 2018-11-18 01:10 AM <DIR> Users > >> 2018-11-09 08:18 AM <DIR> Windows > >> as can be seen, Command Prompt has a way to exclude System items. Does > >> Cygwin > >> have some way to do this, perhaps with "ls" or "find"? > > You're asking POSIX tools to recognize DOS attributes... > Could perhaps be supported as an env option > CYGWIN=hidefileswithattributes:[SH]... > with a possibility of overriding that and seeing the files (as with . and ..) > when ls -a is specified, if SWTDI? Meanwhile CyNWin (no more than CyNUX).
YA logic with questionable gain in the file resolution? I'm not exactly looking forward to that. Just this year, when implementing O_TMPFILE, I had this brilliant idea to hide temporary files from directory listings, which turned out to be not such a bright idea, after all: https://sourceware.org/git/?p=newlib-cygwin.git;a=commitdiff;h=7ae73be14194 https://sourceware.org/git/?p=newlib-cygwin.git;a=commitdiff;h=8b6804b8a881 Cygwin symlinks have the System attribute set, too. Do you want to see them or not when setting this option? Bottom line is, if you want to handle DOS attributes in a special way not covered by our POSIX emulation, user space has to do it. Either you use sth. like w32_path = cygwin_create_path (CCP_POSIX_TO_WIN_W, posix_path); attrs = GetFileAttributesW (w32_path); free (w32_path); Or we could implement an API for that. As far as I can see Linux has one already, an ioctl supported by the vfat driver: uint32_t attrs; ioctl(fd, FAT_IOCTL_GET_ATTRIBUTES, &attrs); ioctl(fd, FAT_IOCTL_SET_ATTRIBUTES, &attrs); Of course, this doesn't help you a lot using standard tools like ls or find but then WIndows' attrib command is your friend. Corinna -- Corinna Vinschen Cygwin Maintainer
signature.asc
Description: PGP signature