gnu-arch-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnu-arch-users] tla1.2 on cygwin


From: Pat Galea
Subject: Re: [Gnu-arch-users] tla1.2 on cygwin
Date: Mon, 08 Mar 2004 10:59:29 +0000
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6) Gecko/20040113

address@hidden wrote:
To clarify for all: NTFS does support path lengths to 32000 chars, but
there's a catch.

On Windows, for each function, there is an ANSI version, and a Unicode
version. For example:
CreateFileA(char* path) and CreateFileW(w_char* path)
If one uses the CreateFileW() function, and the path starts with "\\?\"
then the path can be 32000 chars. If the path starts with something else
it is limited to 250 chars.

As a warning for anyone trying to use these interfaces, there's a
problem with SetCurrentDirectoryW. It supports the syntax for Unicode
paths, but doesn't appear to work with long paths.

This caused a big problem when I was attempting to update Cygwin. I
still think that Cygwin can be made to work (and it'll be great when it
does), but I realised that in order to get round the
SetCurrentDirectoryW problem I'd need to know a *lot* more about Cygwin
than I actually do.

I'm now using SFU on Win2K very successfully. No problems at all so far.

There are instructions on the wiki for building tla on SFU:

http://wiki.gnuarch.org/moin.cgi/W32ServicesForUnixCompile

Granted, this solution does work on a limited number of OSs (e.g. Win2k,
XP Pro), but if you happen to be using one of these, SFU-arch is a good
combination.

At the moment, SFU-arch is (AFAIK) the only 'Windows' solution that uses
the tla source code almost verbatim (just one extra #include is needed).

(Which, of course, is not to denigrate either Lode Leroy's ingenious
path-compression, or Johannes' excellent work on a native Win32 port.)

Regards,
Pat Galea






reply via email to

[Prev in Thread] Current Thread [Next in Thread]