-const char jbsockets_rcs[] = "$Id: jbsockets.c,v 1.34 2002/04/08 20:31:41 swa Exp $";
+const char jbsockets_rcs[] = "$Id: jbsockets.c,v 1.35.2.2 2002/11/20 14:37:24 oes Exp $";
/*********************************************************************
*
- * File : $Source: /cvsroot/ijbswa/current/jbsockets.c,v $
+ * File : $Source: /cvsroot/ijbswa/current/Attic/jbsockets.c,v $
*
* Purpose : Contains wrappers for system-specific sockets code,
* so that the rest of Junkbuster can be more
*
* Revisions :
* $Log: jbsockets.c,v $
+ * Revision 1.35.2.2 2002/11/20 14:37:24 oes
+ * Fixed Win32 error logging in bind_port.
+ * Thanks to Oliver Stoeneberg for the hint.
+ *
+ * Revision 1.35.2.1 2002/05/26 23:41:27 joergs
+ * AmigaOS: Fixed wrong type of len in write_socket()
+ *
+ * Revision 1.35 2002/04/26 15:50:04 joergs
+ * AmigaOS: No socklen_t, added AMIGA to the systems using int instead.
+ *
* Revision 1.34 2002/04/08 20:31:41 swa
* fixed JB spelling
*
#endif
+#ifdef OSX_DARWIN
+#include <pthread.h>
+#include "jcc.h"
+/* jcc.h is for mutex semaphores only */
+#endif /* def OSX_DARWIN */
+
#include "project.h"
#include "jbsockets.h"
#include "filters.h"
* nonzero on error.
*
*********************************************************************/
+#ifdef AMIGA
+int write_socket(jb_socket fd, const char *buf, ssize_t len)
+#else
int write_socket(jb_socket fd, const char *buf, size_t len)
+#endif
{
if (len == 0)
{
{
close_socket (fd);
#ifdef _WIN32
+ errno = WSAGetLastError();
if (errno == WSAEADDRINUSE)
#else
if (errno == EADDRINUSE)
{
host = NULL;
}
+#elif defined(OSX_DARWIN)
+ pthread_mutex_lock(&gethostbyaddr_mutex);
+ host = gethostbyaddr((const char *)&server.sin_addr,
+ sizeof(server.sin_addr), AF_INET);
+ pthread_mutex_unlock(&gethostbyaddr_mutex);
#else
host = gethostbyaddr((const char *)&server.sin_addr,
sizeof(server.sin_addr), AF_INET);
{
hostp = NULL;
}
+#elif OSX_DARWIN
+ pthread_mutex_lock(&gethostbyname_mutex);
+ hostp = gethostbyname(host);
+ pthread_mutex_unlock(&gethostbyname_mutex);
#else
hostp = gethostbyname(host);
#endif /* def HAVE_GETHOSTBYNAME_R_(6|5|3)_ARGS */