zutils-bug
[Top][All Lists]
Advanced

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

Re: [Zutils-bug] Version 1.0-rc3 of zutils released


From: Antonio Diaz Diaz
Subject: Re: [Zutils-bug] Version 1.0-rc3 of zutils released
Date: Mon, 29 Oct 2012 17:28:20 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.7.11) Gecko/20050905

Hello Dagobert. Thanks for the feedback.

Dagobert Michelsen wrote:
I just did a test on Solaris 9 Sparc with Sun Studio 12 and got the following 
issues:

1. requires inttypes.h instead of stdint.h and requires extra include signal.h

There are due the old OS and probably not worth fixing:

I think so. And in the case of signal.h I think it is a bug in the OS because zutils already includes csignal.


2. Wrong type on str.insert: should be (char *) NULL instead of 0L

This leads to ambiguous casts either on 32 bit or with 0UL on 64 bit. This can
easily be corrected with
  
http://sourceforge.net/apps/trac/gar/browser/csw/mgar/pkg/zutils/trunk/files/0004-Avoid-ambiguity-between-char-and-unsigned-long-on-sp.patch

I think this is also a bug in the OS.

The two declarations involved are (from bits/basic_string.h):
  basic_string& insert(size_type __pos, size_type __n, _CharT __c);
and
  void insert(iterator __p, size_type __n, _CharT __c);


The code in zcat
  str.insert( 0U, 1, '1' );

matches the first declaration (0U is a position in str), while
  str.insert( str.begin(), 1, '1' );

would match the second. But I do not think the proposed patch
  str.insert( (char *) NULL, 1, '1' );

should match either. "(char *) NULL" is neither an integer nor a valid iterator.

In fact gcc does not accept the patch unless -fpermissive is used. And even so gcc converts it to a position instead of an iterator or a pointer. If you need to "fix" it, I recommend you to use str.begin().


Zcat, zcmp, zdiff and zgrep are improved replacements for the shell scripts 
provided with GNU gzip. Ztest is unique to zutils.

We have been traditionally naming these with uppercase "Z". I remember you were
talking to the gzip team about adjusting the names to remove the collisions.
Has this been settled?

Well, it has been settled here[1], as explained in the INSTALL file:

"If you are installing zutils along with GNU gzip and want to keep the gzip scripts, the recommended method is to configure gzip as follows:

   ./configure --program-transform-name='s/^z/gz/'

This renames, at installation time, the gzip scripts and man pages to 'gzcat', 'gzcat.1', etc, avoiding the name clashing with the programs and man pages from zutils."

[1] http://lists.gnu.org/archive/html/bug-gzip/2012-01/msg00006.html


Best regards,
Antonio.



reply via email to

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