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

[leafnode-list] 2.0b5_ma4: Excess whitespace is harmful.



-----BEGIN PGP SIGNED MESSAGE-----

Small blanks big pain.

To whom it may concern:

leafnode suffers from excess whitespace on the inside of parantheses. I
haven't been able to delete all this whitespace so far, but today, I got
a report by Volker A. that 2.0b5_ma4 failed, and tracking this, I found
the culprit is this line in configure.in:

|$ grep -n -2 'false ' configure.in
|26-AC_PATH_PROG( LYNX, lynx )
|27-AC_PATH_PROG( RPM, rpm )
>28:AC_PATH_PROG( GPERF, gperf, false )
|29-AC_PATH_PROG( SED, sed )
|30-

The trailing blank after false is copied into configure:
|$ grep -n -3 '"false "' configure
|1058-    fi
|1059-  done
|1060-  IFS="$ac_save_ifs"
>1061:  test -z "$ac_cv_path_GPERF" && ac_cv_path_GPERF="false "
|1062-  ;;
|1063-esac
|1064-fi

and wreaks havoc if gperf is missing from $PATH (note that it's not
meant this way, you should be able to get along without gperf, with just
gcc, binutils and any remotely POSIX-compliant make and a reasonable
shell. pdksh, BSD's and Solaris' /bin/sh and GNU bash v2 have been
tested and found working):

$ make -n
..
>if test "false " != "false" ; then \
|        echo creating configparse.c ; \
|        false  -a -C -k2,4,$ -K name -N find_configparam \
|                -p -t -S1 -T <config.gperf \
>        | /usr/bin/sed -e '/^struct configparam {/ d' >.configparse.c && mv .configparse.c configparse.c ; \
|else \
|        echo "*** error: you don't have gperf ***" ; \
|        echo "*** using old configparse.c     ***" ; \
|fi

Woosh. configparse.c is dead, resurrecting from the tar.bz2 may help but
is a hassle.

Shells will simply skip the excess whitespace outside of quote marks,
but portable programming rules demand that arguments to the test command
be enclosed in double quote marks, wherein whitespace _will_ matter.

Thus, I'll eliminate all excess white space in leafnode 2.0b5_ma4 and
I'll make the Makefile.in more robust.



Workaround: use a text editor and change line 1061 in ./configure from

  test -z "$ac_cv_path_GPERF" && ac_cv_path_GPERF="false "

to

  test -z "$ac_cv_path_GPERF" && ac_cv_path_GPERF="false"

Mind the space in "false "!



Thanks go to Volker for reporting the bug.

- -- 
Matthias Andree
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.5 and Gnu Privacy Guard <http://www.gnupg.org/>

iQCVAwUBOhXKnidEoB0mv1ypAQHdLgQAliqblxwcnhoeGZIkJHqmWQeoPVefUkiP
oyHHjr92yNpzclZ70FJdEr9Mj5F1f68V3u1/41/xo3KriQy6dqwzIl85g0pg0hpw
QC+NmKHd8zPW5sW4OGLIua07ArpDBM3EB4HA9MzKaygdqK5boQaDd6YS9TkYDZ2g
HiNdYda8d+o=
=HNlW
-----END PGP SIGNATURE-----

-- 
leafnode-list@xxxxxxxxxxxxxxxxxxxxxxxxxxxx -- mailing list for leafnode
To unsubscribe, send mail with "unsubscribe" in the subject to the list