The error occurs everywhere in comm.c where 'ssize_t' is followed by
'perform_socket_read' (missing ','?) is found. The exact lines and some
code around them are as follows.
/* functions in this file */
RETSIGTYPE reread_wizlists(int sig);
RETSIGTYPE unrestrict_game(int sig);
RETSIGTYPE reap(int sig);
RETSIGTYPE checkpointing(int sig);
RETSIGTYPE hupsig(int sig);
---->(121) ssize_t perform_socket_read(socket_t desc, char
*read_point,size_t space_left);
---->(122) ssize_t perform_socket_write(socket_t desc, const char
*txt,size_t length);
void echo_off(struct descriptor_data *d);
void echo_on(struct descriptor_data *d);
And then again here:
---->(1405) ssize_t perform_socket_write(socket_t desc, const char *txt,
size_t length)
{
ssize_t result;
result = send(desc, txt, length, 0);
if (result > 0) {
/* Write was sucessful */
return result;
}
if (result == 0) {
/* This should never happen! */
log("SYSERR: Huh?? write() returned 0??? Please report this!");
return -1;
}
/* result < 0: An error was encountered. */
/* Transient error? */
if (WSAGetLastError() == WSAEWOULDBLOCK)
return 0;
/* Must be a fatal error. */
return -1;
---->(1430) }
And here:
/*
* Same information about perform_socket_write applies here. I like
* standards, there are so many of them. -gg 6/30/98
*/
---->(1529) ssize_t perform_socket_read(socket_t desc, char *read_point,
size_t space_left)
{
ssize_t ret;
#if defined(CIRCLE_ACORN)
ret = recv(desc, read_point, space_left, MSG_DONTWAIT);
#elif defined(CIRCLE_WINDOWS)
ret = recv(desc, read_point, space_left, 0);
#else
ret = read(desc, read_point, space_left);
#endif
/* Read was successful. */
if (ret > 0)
return ret;
/* read() returned 0, meaning we got an EOF. */
if (ret == 0) {
log("EOF on socket read (connection broken by peer)");
return -1;
}
/*
* read returned a value < 0: there was an error
*/
#if defined(CIRCLE_WINDOWS) /* Windows */
if (WSAGetLastError() == WSAEWOULDBLOCK)
return 0;
#else
#ifdef EINTR /* Interrupted system call - various platforms */
if (errno == EINTR)
return 0;
#endif
#ifdef EAGAIN /* POSIX */
if (errno == EAGAIN)
return 0;
#endif
#ifdef EWOULDBLOCK /* BSD */
if (errno == EWOULDBLOCK)
return 0;
#endif /* EWOULDBLOCK */
#ifdef EDEADLK /* Macintosh */
if (errno == EDEADLK)
return 0;
#endif
#endif /* CIRCLE_WINDOWS */
/* We don't know what happened, cut them off. */
perror("process_input: about to lose connection");
---->(1585) return -1;
}
The 4 lines that contain ssize_t perform_socket_read(socket_t desc, char
*read_point,size_t space_left); and ssize_t perform_socket_write(socket_t
desc, const char *txt,size_t length); have the same error. The other 2
lines, 1430 and 1585 are syntax error : '}'.
Sorry for not giving the code before.
Tina
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST