summaryrefslogtreecommitdiffstats
path: root/unix/tclUnixSock.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2018-11-13 21:04:19 (GMT)
committerdgp <dgp@users.sourceforge.net>2018-11-13 21:04:19 (GMT)
commitad8c23540cd977b9e923053d0e86a56207761680 (patch)
tree141d7a82c5cb9b47ac8b675fef1c021a520d40ed /unix/tclUnixSock.c
parent4e39644e1e0b2c89d06189ae0d14527235499bd1 (diff)
parentf7dfeb706fb75bccd0aae6cd6119fccdfb6bd8d0 (diff)
downloadtcl-ad8c23540cd977b9e923053d0e86a56207761680.zip
tcl-ad8c23540cd977b9e923053d0e86a56207761680.tar.gz
tcl-ad8c23540cd977b9e923053d0e86a56207761680.tar.bz2
Implement TIP 445
Diffstat (limited to 'unix/tclUnixSock.c')
-rw-r--r--unix/tclUnixSock.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/unix/tclUnixSock.c b/unix/tclUnixSock.c
index 69e83e5..5db07a5 100644
--- a/unix/tclUnixSock.c
+++ b/unix/tclUnixSock.c
@@ -253,9 +253,6 @@ InitializeHostName(
native = u.nodename;
}
}
- if (native == NULL) {
- native = &tclEmptyString;
- }
#else /* !NO_UNAME */
/*
* Uname doesn't exist; try gethostname instead.
@@ -284,9 +281,15 @@ InitializeHostName(
#endif /* NO_UNAME */
*encodingPtr = Tcl_GetEncoding(NULL, NULL);
- *lengthPtr = strlen(native);
- *valuePtr = Tcl_Alloc(*lengthPtr + 1);
- memcpy(*valuePtr, native, *lengthPtr + 1);
+ if (native) {
+ *lengthPtr = strlen(native);
+ *valuePtr = ckalloc(*lengthPtr + 1);
+ memcpy(*valuePtr, native, *lengthPtr + 1);
+ } else {
+ *lengthPtr = 0;
+ *valuePtr = ckalloc(1);
+ *valuePtr[0] = '\0';
+ }
}
/*