www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-apps/2002/05/26/15:08:41

Mailing-List: contact cygwin-apps-help AT cygwin DOT com; run by ezmlm
Sender: cygwin-apps-owner AT cygwin DOT com
List-Subscribe: <mailto:cygwin-apps-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin-apps/>
List-Post: <mailto:cygwin-apps AT cygwin DOT com>
List-Help: <mailto:cygwin-apps-help AT cygwin DOT com>, <http://sources.redhat.com/lists.html#faqs>
Mail-Followup-To: cygwin-apps AT cygwin DOT com
Delivered-To: mailing list cygwin-apps AT cygwin DOT com
From: "Ralf Habacker" <Ralf DOT Habacker AT freenet DOT de>
To: "Cygwin-Apps" <cygwin-apps AT cygwin DOT com>,
"Binutils" <binutils AT sources DOT redhat DOT com>
Subject: RE: Problem with cygwin install.
Date: Sun, 26 May 2002 21:08:01 +0200
Message-ID: <00b301c204e8$a83e8ab0$905f07d5@BRAMSCHE>
MIME-Version: 1.0
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400
Importance: Normal
In-Reply-To: <008d01c20356$37a97b40$905f07d5@BRAMSCHE>

> > Nope. You'll need to debug it. I tested this after Nicholas's recent
> > remondier and it worked for me.
> >
> I have tried and recognized, that there are problems with the GNU long name
> extension in archive_tar.cc. The filenames which fails are always over 100
> characters long and this is the limit.
> Does anyone have some informations about how this extension works ?

It seems noone, so it needs a little more time to analyse this bug, but I think
I've catched this bug:

The problem was, that in archive_tar::next_file_name() in case of filenames with
the GNU long name extension a flag "state.have_longname" is set, but never
reset, which inhibits propper generating of following filenames in the archive.

2002-05-26 Ralf Habacker <ralf DOT habacker AT freenet DOT de>

  * archive_tar.cc (archive_tar::next_file_name()) fixed broken
  GNU long name extension support.

Index: archive_tar.cc
===================================================================
RCS file: /cvs/cygwin-apps/setup/archive_tar.cc,v
retrieving revision 2.8
diff -u -3 -p -B -b -B -p -r2.8 archive_tar.cc
--- archive_tar.cc      5 May 2002 04:02:00 -0000       2.8
+++ archive_tar.cc      26 May 2002 19:00:37 -0000
@@ -168,6 +168,8 @@ archive_tar::next_file_name ()
       memcpy (state.filename, state.tar_header.name, 100);
       state.filename[100] = 0;
     }
+  else if (state.have_longname)
+       state.have_longname = 0;

   sscanf (state.tar_header.size, "%o", &state.file_length);
   state.file_offset = 0;

Any comments before submitting ?


Ralf

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019