Folks,
** Please reply by direct email to kenneth_green@hp.com **
I just downloaded the 1.2 release of Swish-E to make the upgrade from
the 1.1 release.
To my dismay I have found that the source code is neither strictly
K&R nore strictly ANSI compatible. Some samples from the code of
the K&R and ANSI violations are given below.
While I understand that gcc has a 'forgiving' (some would say slack;-)
mode, the HP compilers do not, and in require strict adherence to
the standards.
I cannot understand how these basic violations could be present unless
I am the only one in the world not using gcc !
In any case I would be interested in hearing from anyone who has
struck these problems and has a solution, other than editting all
of the violating source code to make it genuinely ANSI compatible.
Sample K&R violations:
File: http.c
Code: void indexpath(char *url)
Problem: This is an ANSI "new style" function definition which is
not parsable by a strict K&R compiler
File: index.c
Code: .... 10.0f)
Problem: The 'f' suffix indicating 'float' is an ANSI feature. For
K&R code you must use a prefix type cast like: "(float)10.0"
Sample ANSI violations:
File: check.h, check.c
Code: declaration = int isvowel _AP ((char));
definition = int isvowel(c)
char c;
Problem: ANSI requires the declaration and definition styles to
match. Here we have a 'new style' declaration with an
'old style' definition.
One reason this is a problem relates to the type expansion
and contraction performed by the compiler on the formal
parameters.
Regards,
Kenneth
--
========================================================================
Kenneth Green +61 3 9210 5541 Tel. & Voicemail
R&D Project Manager +61 3 9210 5550 FAX
kenneth_green@hp.com
Advanced Networks Division PO Box 221, Blackburn Vic 3130
Hewlett-Packard Australia Ltd AUSTRALIA
========================================================================
Received on Tue Oct 6 17:07:29 1998