summaryrefslogtreecommitdiff
path: root/support/dktools/dk4sock16.ctr
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-09-20 03:03:26 +0000
committerNorbert Preining <norbert@preining.info>2020-09-20 03:03:26 +0000
commit1f457376b478257b88d4a857f5ec1b6155442dd7 (patch)
tree2a06a60551dea362cf8cb0cb0ba66c78608717c4 /support/dktools/dk4sock16.ctr
parentac690ca29ad5bf8a5203a65fd6252f7b564f4727 (diff)
CTAN sync 202009200303
Diffstat (limited to 'support/dktools/dk4sock16.ctr')
-rw-r--r--support/dktools/dk4sock16.ctr62
1 files changed, 31 insertions, 31 deletions
diff --git a/support/dktools/dk4sock16.ctr b/support/dktools/dk4sock16.ctr
index ebac56871b..06f0aea8c7 100644
--- a/support/dktools/dk4sock16.ctr
+++ b/support/dktools/dk4sock16.ctr
@@ -2,11 +2,12 @@
copyright owner = Dirk Krause
copyright year = 2015-xxxx
-license = bsd
+SPDX-License-Identifier: BSD-3-Clause
%% module
+#include "dk4conf.h"
#include "dk4sock.h"
#include <stdio.h>
@@ -48,6 +49,14 @@ license = bsd
#endif
#endif
+#if DK4_HAVE_ASSERT_H
+#ifndef ASSERT_H_INCLUDED
+#include <assert.h>
+#define ASSERT_H_INCLUDED 1
+#endif
+#endif
+
+
$!trace-include
@@ -55,10 +64,7 @@ $!trace-include
static
dk4_socket_t
dk4socket_tcp_client_cleanup_socket(
- dk4_socket_t sock,
- int level,
- struct sockaddr *pAddr,
- size_t szAddr
+ dk4_socket_t sock
)
{
#if 0
@@ -86,8 +92,6 @@ dk4socket_tcp_client_connect_attempt(
dk4_socket_t back,
struct sockaddr *pAddr,
size_t szAddr,
- struct sockaddr *pLoAddr,
- size_t szLoAddr,
long secs,
long usecs,
dk4_er_t *erp
@@ -107,6 +111,10 @@ dk4socket_tcp_client_connect_attempt(
int res;
$? "+ dk4socket_tcp_client_connect_attempt"
$? ". remote = PTR=%d %lu", TR_IPTR(pAddr), (unsigned long)szAddr
+#if DK4_USE_ASSERT
+ assert(NULL != pAddr);
+ assert(0 < szAddr);
+#endif
res = dk4socket_connect(back, pAddr, szAddr, erp);
switch (res) {
case DK4_SOCKET_RESULT_SUCCESS : { $? ". connected"
@@ -131,33 +139,27 @@ dk4socket_tcp_client_connect_attempt(
if (0 != dk4socket_non_null_getsockopt(err, slo)) {
$? "! non-null from getsockopt"
dk4error_set_idetails(erp, DK4_E_SOCKET_CONNECT, err);
- back = dk4socket_tcp_client_cleanup_socket(
- back, 1, pLoAddr, szLoAddr
- );
+ back = dk4socket_tcp_client_cleanup_socket(back);
}
#if VERSION_BEFORE_20160415
if (sizeof(int) != slo) {
if (0 != err) { $? "! error from getsockopt"
dk4error_set_idetails(erp, DK4_E_SOCKET_CONNECT, err);
- back = dk4socket_tcp_client_cleanup_socket(
- back, 1, pLoAddr, szLoAddr
- );
+ back = dk4socket_tcp_client_cleanup_socket(back);
}
} else { $? "! getsockopt (size)"
dk4socket_error_report(erp, DK4_E_SOCKET_GETSOCKOPT);
- back = dk4socket_tcp_client_cleanup_socket(
- back, 1, pLoAddr, szLoAddr
- );
+ back = dk4socket_tcp_client_cleanup_socket(back);
}
#endif
} else { $? "! getsockopt"
dk4socket_error_report(erp, DK4_E_SOCKET_GETSOCKOPT);
- back = dk4socket_tcp_client_cleanup_socket(back,1,pLoAddr,szLoAddr);
+ back = dk4socket_tcp_client_cleanup_socket(back);
}
#endif
} else { $? "! timeout (not in list)"
dk4error_set_simple_error_code(erp, DK4_E_SOCKET_TIMEOUT);
- back = dk4socket_tcp_client_cleanup_socket(back,0,pLoAddr,szLoAddr);
+ back = dk4socket_tcp_client_cleanup_socket(back);
}
} else {
if (0 > res) { $? "! select"
@@ -165,11 +167,11 @@ dk4socket_tcp_client_connect_attempt(
} else { $? "! timeout (from select)"
dk4error_set_simple_error_code(erp, DK4_E_SOCKET_TIMEOUT);
}
- back = dk4socket_tcp_client_cleanup_socket(back,0,pLoAddr,szLoAddr);
+ back = dk4socket_tcp_client_cleanup_socket(back);
}
} break;
default : { $? "! failed"
- back = dk4socket_tcp_client_cleanup_socket(back, 0, pLoAddr, szLoAddr);
+ back = dk4socket_tcp_client_cleanup_socket(back);
} break;
}
$? "- dk4socket_tcp_client_connect_attempt %d", (int)back
@@ -196,6 +198,10 @@ dk4socket_tcp_client_for_addr(
int opt = 0;
#endif
$? "+ dk4socket_tcp_client_for_addr"
+#if DK4_USE_ASSERT
+ assert(NULL != pRemoteAddr);
+ assert(0 < szRemoteAddr);
+#endif
if ((NULL != pRemoteAddr) && (0 < szRemoteAddr)) { $? ". args ok"
$? ". remote = PTR=%d %lu",TR_IPTR(pRemoteAddr),(unsigned long)szRemoteAddr
back = dk4socket_open(protfam, SOCK_STREAM, 0, erp);
@@ -226,9 +232,7 @@ dk4socket_tcp_client_for_addr(
#endif
res = dk4socket_bind(back, pLocalAddr, szLocalAddr, erp);
if (DK4_SOCKET_RESULT_FAILED == res) { $? "! bind"
- back = dk4socket_tcp_client_cleanup_socket(
- back, 0, pLocalAddr, szLocalAddr
- );
+ back = dk4socket_tcp_client_cleanup_socket(back);
}
}
if (INVALID_SOCKET != back) {
@@ -236,25 +240,21 @@ dk4socket_tcp_client_for_addr(
res = dk4socket_option_set_nonblock(back, 1, erp);
if (DK4_SOCKET_RESULT_SUCCESS == res) { $? ". non-blocking"
back = dk4socket_tcp_client_connect_attempt(
- back, pRemoteAddr, szRemoteAddr, pLocalAddr, szLocalAddr,
+ back, pRemoteAddr, szRemoteAddr,
seconds, microSeconds, erp
);
if (INVALID_SOCKET != back) {
res = dk4socket_option_set_nonblock(back, 0, erp);
if (DK4_SOCKET_RESULT_SUCCESS != res) { $? "! back blocking"
- back = dk4socket_tcp_client_cleanup_socket(
- back, 1, pLocalAddr, szLocalAddr
- );
+ back = dk4socket_tcp_client_cleanup_socket(back);
}
}
} else { $? "! non-blocking"
- back = dk4socket_tcp_client_cleanup_socket(
- back, 0, pLocalAddr, szLocalAddr
- );
+ back = dk4socket_tcp_client_cleanup_socket(back);
}
} else { $? ". no timeout"
back = dk4socket_tcp_client_connect_attempt(
- back, pRemoteAddr, szRemoteAddr, pLocalAddr, szLocalAddr,
+ back, pRemoteAddr, szRemoteAddr,
0L, 0L, erp
);
}