[hashcash] 1.03pr6 fix for getopt & recent bugs

  • From: Adam Back <adam@xxxxxxxxxxxxxxx>
  • To: hashcash <hashcash@xxxxxxxxxxxxx>
  • Date: Wed, 1 Sep 2004 19:00:43 -0400

I just put up hashcash-1.03pr6 in current which is supposed to fix the
getopt bug and all of the code & document bugs Atom found in the last
few days.

        http://www.hashcash.org/source/current/hashcash-1.03/

It turns out that the getopt issue must arise enough that this gnu
getopt code I included in the distribution for systems without getopt
already knows how to disable itself on gnu systems to avoid redundant
with the system libs.  It seems to use this:

| /* Comment out all this code if we are using the GNU C Library, and are not
|    actually compiling the library itself.  This code is part of the GNU C
|    Library, but also included in many other GNU distributions.  Compiling
|    and linking in this code is a waste when using the GNU C library
|    (especially if it is a shared library).  Rather than having every GNU
|    program understand `configure --with-gnu-libc' and omit the object files,
|    it is simpler to just do this in the source for each such file.  */
| 
| #if defined (_LIBC) || !defined (__GNU_LIBRARY__)

but I do not have a non GNU system to test on ... so let me know
OSX/BSD-wise.  I think as good a test as any is if you can mint like
this: 

        ./hashcash -mXb10 foo

(ie without giving -r which I think was one of the problems Atom
reported that would have failed on BSD due to non GNU getopt).

Remaining issue from CHANGELOG to release this as 1.04:

        * one remaining issue to fix in pr7: time the right thing in
          hashcash_per_sec -- we're still calling find_collision(
          ... step = 100 ) and we need to call the CHROMATIX code
          somehow.

Adam

Other related posts: