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]
Other format: [Raw text]

Re: unzip - known problem? (FAQ alert)


On Fri, 25 Apr 2003, Gerrit P. Haase wrote:

> Hallo Igor,
>
> Am Donnerstag, 24. April 2003 um 21:39 schriebst du:
> > On Thu, 24 Apr 2003, Gerrit P. Haase wrote:
> >> Hallo Gary,
> >> Am Donnerstag, 24. April 2003 um 16:31 schriebst du:
> >>> Let's say I have a .zip file, test.zip, that contains the following:
> >>>         test/cat.exe
> >>>         test/cat/mouse.exe
> >>> If I do "unzip test.zip" (in an otherwise empty directory), I get the
> >>> following error:
> >>>     checkdir error:  test/cat exists but is not directory
> >>>                      unable to process test/cat/.
> >> $ ls -R
> >> .:
> >> cat/  cat.exe*
> >> ./cat:
> >> mouse.exe*
> >> $ zip -r test .
> >>   adding: cat/ (stored 0%)
> >>   adding: cat/mouse.exe (stored 0%)
> >>   adding: cat.exe (stored 0%)
> >> $ unzip test.zip
> >> Archive:  test.zip
> >>    creating: cat/
> >>  extracting: cat/mouse.exe
> >>  extracting: cat.exe
>
> >> Works for me (tm).
> >> Gerrit
>
> > It doesn't work if "cat.exe" precedes the "cat/" directory in the archive.
> >         Igor
>
> Hmmm, I see.  Well, what do you think would be the easiest, fix stat()
> or s.th. else in Cygwin or is this a feature that is needed for other
> uses and cannot be fixed, or patch unzip to do some more/less checks
> and let it extract independent of some functions opinion?
>
> Gerrit

Gerrit,

IMO, this stat() behavior is an idiosyncracy of Cygwin, and thus this
makes the stat() test in unzip non-portable.  So the unzip source would be
the place to fix this.  A lot of software already has Cygwin-specific
chunks.

To aid in porting, it might be worth it to add a stat_pure() function [or
a parameter to stat(), as has been suggested] that will turn off this
feature.

Perhaps there should be a "What gotchas can I expect when porting software
to Cygwin?" question in the FAQ, with the stat() issue being part of the
answer...
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha at cs dot nyu dot edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor at watson dot ibm dot com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

Knowledge is an unending adventure at the edge of uncertainty.
  -- Leto II


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.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]