pkgsrc-ng/net/tcl-scotty/patches/patch-tnm_generic_tnmUdp.c
2014-11-05 12:41:07 +01:00

204 lines
5.1 KiB
C

$NetBSD: patch-tnm_generic_tnmUdp.c,v 1.1 2014/03/05 13:52:29 he Exp $
Correct typo.
Constify.
--- tnm/generic/tnmUdp.c.orig 2000-07-06 11:47:02.000000000 +0200
+++ tnm/generic/tnmUdp.c 2014-03-04 15:49:15.000000000 +0100
@@ -40,33 +40,33 @@
UdpEventProc _ANSI_ARGS_((ClientData clientData, int mask));
static Socket*
-UdpSocket _ANSI_ARGS_((Tcl_Interp *interp, char *fileId));
+UdpSocket _ANSI_ARGS_((Tcl_Interp *interp, const char *fileId));
static int
-UdpOpen _ANSI_ARGS_((Tcl_Interp *interp, int argc, char **argv));
+UdpOpen _ANSI_ARGS_((Tcl_Interp *interp, int argc, const char **argv));
static int
-UdpConnect _ANSI_ARGS_((Tcl_Interp *interp, int argc, char **argv));
+UdpConnect _ANSI_ARGS_((Tcl_Interp *interp, int argc, const char **argv));
static int
-UdpSend _ANSI_ARGS_((Tcl_Interp *interp, int argc, char **argv));
+UdpSend _ANSI_ARGS_((Tcl_Interp *interp, int argc, const char **argv));
static int
-UdpReceive _ANSI_ARGS_((Tcl_Interp *interp, int argc, char **argv));
+UdpReceive _ANSI_ARGS_((Tcl_Interp *interp, int argc, const char **argv));
static int
-UdpClose _ANSI_ARGS_((Tcl_Interp *interp, int argc, char **argv));
+UdpClose _ANSI_ARGS_((Tcl_Interp *interp, int argc, const char **argv));
#ifdef HAVE_MULTICAST
static int
-UdpMulticast _ANSI_ARGS_((Tcl_Interp *interp, int argc, char **argv));
+UdpMulticast _ANSI_ARGS_((Tcl_Interp *interp, int argc, const char **argv));
#endif
static int
-UdpInfo _ANSI_ARGS_((Tcl_Interp *interp, int argc, char **argv));
+UdpInfo _ANSI_ARGS_((Tcl_Interp *interp, int argc, const char **argv));
static int
-UdpBind _ANSI_ARGS_((Tcl_Interp *interp, int argc, char **argv));
+UdpBind _ANSI_ARGS_((Tcl_Interp *interp, int argc, const char **argv));
/*
* Procedure to be called by the event dispatcher whenever a UDP
@@ -111,7 +111,7 @@
static Socket *
UdpSocket(interp, name)
Tcl_Interp *interp;
- char *name;
+ const char *name;
{
Tcl_HashEntry *entryPtr;
Socket *usock;
@@ -136,12 +136,12 @@
UdpOpen(interp, argc, argv)
Tcl_Interp *interp;
int argc;
- char **argv;
+ const char **argv;
{
int sock, isNew, code;
struct sockaddr_in name;
Socket *usock;
- char *port = "0";
+ const char *port = "0";
Tcl_HashEntry *entryPtr;
if (argc < 2 || argc > 3) {
@@ -200,7 +200,7 @@
UdpConnect(interp, argc, argv)
Tcl_Interp *interp;
int argc;
- char **argv;
+ const char **argv;
{
int sock, isNew;
Socket *usock;
@@ -259,7 +259,7 @@
UdpSend(interp, argc, argv)
Tcl_Interp *interp;
int argc;
- char **argv;
+ const char **argv;
{
struct sockaddr_in name;
Socket *usock;
@@ -333,7 +333,7 @@
UdpReceive(interp, argc, argv)
Tcl_Interp *interp;
int argc;
- char **argv;
+ const char **argv;
{
Socket *usock;
int sock;
@@ -403,7 +403,7 @@
UdpClose(interp, argc, argv)
Tcl_Interp *interp;
int argc;
- char **argv;
+ const char **argv;
{
Tcl_HashEntry *entryPtr;
Socket *usock;
@@ -454,7 +454,7 @@
UdpInfo(interp, argc, argv)
Tcl_Interp *interp;
int argc;
- char **argv;
+ const char **argv;
{
Socket *usock;
@@ -476,7 +476,7 @@
}
} else {
-
+ char res[128];
int sock, rc;
struct sockaddr_in server;
int length = sizeof(server);
@@ -489,15 +489,17 @@
rc = getsockname(sock, (struct sockaddr *) &server, &length);
if (rc == 0) {
- sprintf(interp->result, "%s %d ",
+ sprintf(res, "%s %d ",
inet_ntoa(server.sin_addr),
(int) ntohs(server.sin_port));
+ Tcl_SetResult(interp, res, TCL_VOLATILE);
} else {
- sprintf(interp->result, "{} {} ");
+ Tcl_SetResult(interp, "{} {} ", TCL_STATIC);
}
- sprintf(interp->result+strlen(interp->result), "%s %d",
+ sprintf(res, "%s %d",
inet_ntoa(usock->client.sin_addr),
(int) ntohs(usock->client.sin_port));
+ Tcl_AppendResult(interp, res, NULL);
}
return TCL_OK;
@@ -512,7 +514,7 @@
UdpBind(interp, argc, argv)
Tcl_Interp *interp;
int argc;
- char **argv;
+ const char **argv;
{
int mask = 0;
Socket *usock;
@@ -570,7 +572,7 @@
UdpMulticast(interp, argc, argv)
Tcl_Interp *interp;
int argc;
- char **argv;
+ const char **argv;
{
Socket* usock;
struct ip_mreq mreq;
@@ -578,6 +580,7 @@
int tmp, optlen, sock, isNew, code;
unsigned char ttl;
Tcl_HashEntry *entryPtr;
+ char res[20];
if (argc < 3) {
Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],
@@ -622,7 +625,8 @@
return TCL_ERROR;
}
tmp = ttl;
- sprintf(interp->result, "%d", tmp);
+ sprintf(res, "%d", tmp);
+ Tcl_SetResult(interp, res, TCL_VOLATILE);
return TCL_OK;
} else if (strcmp(argv[2], "open") == 0) {
@@ -643,7 +647,7 @@
}
mreq.imr_multiaddr.s_addr = name.sin_addr.s_addr;
- name.imr_interface.s_addr = htonl(INADDR_ANY);
+ mreq.imr_interface.s_addr = htonl(INADDR_ANY);
sock = TnmSocket(PF_INET, SOCK_DGRAM, 0);
if (sock == TNM_SOCKET_ERROR) {
@@ -732,7 +736,7 @@
ClientData clientData;
Tcl_Interp *interp;
int argc;
- char **argv;
+ const char **argv;
{
char c;