Re: [CODE]trouble in comm.c

From: Daniel A. Koepke (
Date: 11/10/00

On Thu, 9 Nov 2000, Lord Kyu wrote:

> I too ran into a little error, it seems to be a Windows thing (go
> figure).

This was actually my fault, sort of.  CircleMUD 3.0bpl16 was incorrectly
using 'int' for the socket type throughout comm.c, so I sought to fix that
for bpl17.  I changed the prototype, but somehow missed the actual
function (oops).

As to why Windows never complained about converting SOCKET to int and vice
versa is beyond me: I don't know enough about WinSock's internal structure
to tell you what's the real type of 'SOCKET' (or if it's a structure or
class, rather than just a typedef).  Anyway, suffice it to say that it
*is* an error for CircleMUD to use int in place of socket_t anywhere
within the code (except areas where we are guaranteed that socket_t is an
int -- hopefully there's only one case where we assume that [conf.h]).  I
believe this was reported earlier and fixed.  If it hasn't been already,
I'll do that now.

As for the problems with socklen_t: ./configure automatically detects
this.  I strongly encourage people to use the proper method and
reconfigure (remove config.cache and run configure) rather than placing
platform-specific hacks within their code.  This could present a problem
when switching platforms (although it more than likely will not in the
case of socklen_t) and you should avoid it.

Reconfiguring on upgrade is a good practice to engage in.  It is also
important to update and when upgrading.  Even
further, when adding files to the Makefile, you should edit
and run config.status to regenerate the Makefile from that template.
This will ensure that your path to upgrading and maintaining CircleMUD is
clean and clear.

Anyway, next time a release requires reconfiguration, I will make a larger
note of it.  Perhaps even add a RELEASE file alongside README to collect
important information relative to the current release.


     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     |  |

This archive was generated by hypermail 2b30 : 04/11/01 PDT