This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Error in access() with long file names


One of the systems that I've checked has both FAT32 and NTFS drives.
The problem occurs when referencing either drive, either by default
(i.e., cd to a directory on the drive), or explicitly. 

Randall R Schulz wrote:
> 
> Michael,
> 
> You didn't say whether you're using NTFS, but if so, the : at the end might
> be tripping up either Cygwin or, conceivable, Windows. The name you gave
> takes the form of a file stream (and independent sub-file, a kind of
> generalized file "fork" if you're familiar with the Macintosh file
> systems). This is the case owing to the presence of the colon with more
> than one character to its left.
> 
> I tend to doubt the slash is allowable after the colon, but I'm not sure.
> 
> It's not that I think access() should return true for this name, but just
> that I wanted to point out the possibility that you're hitting something
> relatively obscure. As I said, it's only supported in NTFS, not in FAT file
> systems.
> 
> Randall Schulz
> Mountain View, CA USA
> 
> At 09:39 2001-07-10, Michael Eager wrote:
> >Using the most recent version of Cygwin.
> >
> >The access function return success when given a long string argument
> >which does not represent a valid file.  There is some sensitivity to the
> >characters in the string.  Removing the colon (and perhaps some other
> >characters) in the example program below gives correct results.
> >
> >Anyone know of a fix?
> >
> >===================================
> >
> >#include <stdio.h>
> >#include <unistd.h>
> >
> >char name[] =
> >  "aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhh"
> >  "hhhhhhhiiiiiiiiiijjjjjjjjjjkkkkkkkkkkkllllllllllmmmmmmmmmmnnnnnnnnnnooooo"
> >  "oooooppppppppppqqqqqqqqqqrrrrrrrrrrssssssssssttttttttttuuuuuuuuuuvvvvvvvv"
> >  "vvwwwwwwwwwwxxxxxxxxxxyyyyyyyyyyzzzzzzzzzz01234567890:/";
> >
> >int main()
> >{
> >   if (access (name, R_OK) == 0)
> >     printf ("%s is readable\n", name);
> >   else
> >     printf ("%s is NOT readable\n", name);
> >
> >   return 0;
> >}
> >
> >
> >--
> >Michael Eager   Eager Consulting     eager@eagercon.com
> >1960 Park Blvd., Palo Alto, CA 94306  650-325-8077

--
Michael Eager     eager@mvista.com	408-328-8426	
MontaVista Software, Inc. 1237 E. Arques Ave., Sunnyvale, CA  94085

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]