Anton Monroe | 8 Nov 2009 22:24

Unix EAs

This is a follow-up to a thread I started last January about Unix EAs.
The problem I had was that a kLibc version of unzip.exe created files
with a lot of Unix EAs. I not only didn't need them, but they prevented
DOS apps from reading the unzipped files.

On the Netlabs bug tracker, I found tickets #21 and #206 where Knut
mentioned the possibility of using an environment variable to control
if and where Unix EAs are used. Currently, it uses Unix EAs on HPFS,
JFS, FAT, and RAMFS drives.

So I decided to try hacking kLibc to suit myself. Not being a real
programmer, I had a few problems putting together a build environment.
But now I can finally do "make double-quick" in the libc-0.6 directory
with only a couple of errors. Lots of warnings, but that may be normal.
I hope.

The attached patch is what I have so far. It removes the critical flag
from the Unix EAs, and also provides for an environment variable called
LIBC_UNIXEA_DRIVES which overrides the defaults. That way I can have
Unix EAs and symlinks on my NDFS drives, or prevent unzip from creating
Unix EAs with "set LIBC_UNIXEA_DRIVES=*-". I don't know if this is what
Knut had in mind, but it works for me.

I have to write with a copy of "Teach Yourself C" in one hand, so there
is a very good chance I did something dumb or dangerous.  Any comments? 
Yeah, I know this list isn't a beginner's C class, but someone here
might be interested. 

Anton
(Continue reading)


Gmane