parameter 5 to getsockopt() by using the compiler. The macro was in danger of
becoming an ever expanding list of case statements, since some platforms use
socklen_t, others use size_t, and still others use int. Some aren't even
consistent from OS rev to OS rev.
A macro BOINC_SOCKLEN_T is set in config.h to indicate the proper type. This
is typedef to be boinc_socklen_t in lib/network.h. The special cases for
__APPLE__ and WIN32 can probably be removed at a later time. Places where
socklen_t was used have been changed to boinc_socklen_t.
Also added double inclusion protection to network.h
svn path=/trunk/boinc/; revision=6055
of gcc to try and force them to not complain with -Wall but to always
include this, I decided to take a simpler approach. All these strings
now have global linkage. To prevent namespace conflicts they all
have different names. For the record, the variable extension is a hash made of the first ten characters of the md5sum of the file path, eg:
md5hash=`boinc/api/x_opengl.C | md5sum | cut -c 1-10`
svn path=/trunk/boinc/; revision=4979
the top of all .C files. This means that 'string' or 'ident'
run on an executable will tell you the exact file versions used
in building it, since CVS replaces $Id$ with a complete version ID
string. Declaration is volatile so that the compiler won't remove
it even under agressive optimizations.
svn path=/trunk/boinc/; revision=4610