summaryrefslogtreecommitdiff
path: root/support/dktools/dk4sock31.c
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/dk4sock31.c
parentac690ca29ad5bf8a5203a65fd6252f7b564f4727 (diff)
CTAN sync 202009200303
Diffstat (limited to 'support/dktools/dk4sock31.c')
-rw-r--r--support/dktools/dk4sock31.c82
1 files changed, 42 insertions, 40 deletions
diff --git a/support/dktools/dk4sock31.c b/support/dktools/dk4sock31.c
index df8ded713f..c82018707f 100644
--- a/support/dktools/dk4sock31.c
+++ b/support/dktools/dk4sock31.c
@@ -1,36 +1,14 @@
/*
- WARNING: This file was generated by dkct.
- Changes you make here will be lost if dkct is run again!
- You should modify the original source and run dkct on it.
- Original source: dk4sock31.ctr
+Copyright (C) 2016-2020, Dirk Krause
+SPDX-License-Identifier: BSD-3-Clause
*/
/*
-Copyright (C) 2016-2017, Dirk Krause
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-* Redistributions in binary form must reproduce the above opyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-* Neither the name of the author nor the names of contributors may be used
- to endorse or promote products derived from this software without specific
- prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ WARNING: This file was generated by the dkct program (see
+ http://dktools.sourceforge.net/ for details).
+ Changes you make here will be lost if dkct is run again!
+ You should modify the original source and run dkct on it.
+ Original source: dk4sock31.ctr
*/
/** @file dk4sock31.c The dk4sock31 module.
@@ -41,6 +19,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#include "dk4conf.h"
#include "dk4sock.h"
#include "dk4mem.h"
@@ -52,11 +31,17 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "dk4rec24.h"
+#if DK4_HAVE_ASSERT_H
+#ifndef ASSERT_H_INCLUDED
+#include <assert.h>
+#define ASSERT_H_INCLUDED 1
+#endif
+#endif
-#line 27 "dk4sock31.ctr"
+#line 34 "dk4sock31.ctr"
@@ -94,7 +79,9 @@ dk4socket_wc_set_udp_num_flag(
#if DK4_HAVE_SETSOCKOPT && (defined(SO_REUSEPORT) || defined(SO_REUSEADDR))
int opt = 0;
#endif
-
+#if DK4_USE_ASSERT
+ assert(NULL != servicename);
+#endif
if (NULL != servicename) {
DK4_MEMRES(&hints, sizeof(hints));
hints.ai_family = AF_UNSPEC;
@@ -123,7 +110,7 @@ dk4socket_wc_set_udp_num_flag(
#if DK4_HAVE_SETSOCKOPT && defined(SO_REUSEPORT)
-#line 92 "dk4sock31.ctr"
+#line 101 "dk4sock31.ctr"
dk4socket_set_one_bytes(&opt, sizeof(opt));
res = setsockopt(
(back->pSockets)[back->szUsed], SOL_SOCKET,
@@ -131,13 +118,13 @@ dk4socket_wc_set_udp_num_flag(
);
if (0 != res) {
-#line 98 "dk4sock31.ctr"
+#line 107 "dk4sock31.ctr"
}
#else
#if DK4_HAVE_SETSOCKOPT && defined(SO_REUSEADDR)
-#line 102 "dk4sock31.ctr"
+#line 111 "dk4sock31.ctr"
dk4socket_set_one_bytes(&opt, sizeof(opt));
res = setsockopt(
(back->pSockets)[back->szUsed], SOL_SOCKET,
@@ -145,18 +132,18 @@ dk4socket_wc_set_udp_num_flag(
);
if (0 != res) {
-#line 108 "dk4sock31.ctr"
+#line 117 "dk4sock31.ctr"
}
#else
-#line 111 "dk4sock31.ctr"
+#line 120 "dk4sock31.ctr"
#endif
#endif
#if DK4_HAVE_SETSOCKOPT && defined(SO_BROADCAST)
-#line 115 "dk4sock31.ctr"
+#line 124 "dk4sock31.ctr"
if (0 != broadcast) {
dk4socket_set_one_bytes(&opt, sizeof(opt));
res = setsockopt(
@@ -165,13 +152,13 @@ dk4socket_wc_set_udp_num_flag(
);
if (0 != res) {
-#line 122 "dk4sock31.ctr"
+#line 131 "dk4sock31.ctr"
}
}
#else
-#line 126 "dk4sock31.ctr"
+#line 135 "dk4sock31.ctr"
#endif
res = dk4socket_bind(
(back->pSockets)[back->szUsed], paddr->ai_addr,
@@ -192,7 +179,7 @@ dk4socket_wc_set_udp_num_flag(
}
}
}
- FreeAddrInfo(addri);
+ FreeAddrInfoW(addri);
} else {
dk4error_set_idetails(erp, DK4_E_SOCKET_GETADDRLOC, res);
}
@@ -210,6 +197,9 @@ dk4socket_wc_set_udp_num_flag(
int iport = 0;
int res = 0;
unsigned short portno = 0;
+#if DK4_USE_ASSERT
+ assert(NULL != servicename);
+#endif
if (NULL != servicename) {
res = dk4ma_input_wc_dec_ushort(
&portno, servicename, &endptr, 1, erp
@@ -254,6 +244,9 @@ dk4socket_wc_set_udp(
wchar_t pnb[16*sizeof(dk4_um_t)];
dk4_socket_set_t *back = NULL;
int res;
+#if DK4_USE_ASSERT
+ assert(0 < portno);
+#endif
if (0 < portno) {
res = dk4ma_write_wc_decimal_unsigned(
pnb, DK4_SIZEOF(pnb,wchar_t), (dk4_um_t)portno, 0, erp
@@ -288,6 +281,9 @@ dk4socket_wc_set_udp_service(
dk4_er_t *erp
)
{
+#if DK4_USE_ASSERT
+ assert(NULL != servicename);
+#endif
return (
dk4socket_wc_set_udp_num_flag(servicename, local, broadcast, 0, erp)
);
@@ -311,6 +307,9 @@ dk4socket_set_udp(
dk4_er_t *erp
)
{
+#if DK4_USE_ASSERT
+ assert(0 < portno);
+#endif
#if DK4_CHAR_SIZE > 1
return (
dk4socket_wc_set_udp(portno, local, broadcast, erp)
@@ -332,6 +331,9 @@ dk4socket_set_udp_service(
dk4_er_t *erp
)
{
+#if DK4_USE_ASSERT
+ assert(NULL != servicename);
+#endif
#if DK4_CHAR_SIZE > 1
return (
dk4socket_wc_set_udp_service(servicename, local, broadcast, erp)