about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--resolv/inet_ntop.c10
-rw-r--r--resolv/nsap_addr.c3
3 files changed, 10 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 33f2662196..072c2363fe 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 1999-10-02  Ulrich Drepper  <drepper@cygnus.com>
 
+	* resolv/nsap_addr.c (inet_nsap_addr): Little optimization.
+
+	* resolv/inet_ntop.c (inet_ntop4): Little optimization.
+	(inet_ntop6): Likewise.
+
 	* resolv/inet_net_pton.c (inet_net_pton_ipv4): Prevent buffer
 	overruns.
 
diff --git a/resolv/inet_ntop.c b/resolv/inet_ntop.c
index 644abee4a7..2f076d4ba4 100644
--- a/resolv/inet_ntop.c
+++ b/resolv/inet_ntop.c
@@ -97,8 +97,7 @@ inet_ntop4(src, dst, size)
 		__set_errno (ENOSPC);
 		return (NULL);
 	}
-	strcpy(dst, tmp);
-	return (dst);
+	return strcpy(dst, tmp);
 }
 
 /* const char *
@@ -132,8 +131,8 @@ inet_ntop6(src, dst, size)
 	 *	Find the longest run of 0x00's in src[] for :: shorthanding.
 	 */
 	memset(words, '\0', sizeof words);
-	for (i = 0; i < IN6ADDRSZ; i++)
-		words[i / 2] |= (src[i] << ((1 - (i % 2)) << 3));
+	for (i = 0; i < IN6ADDRSZ; i += 2)
+		words[i / 2] = (src[i] << 8) | src[i + 1];
 	best.base = -1;
 	cur.base = -1;
 	for (i = 0; i < (IN6ADDRSZ / INT16SZ); i++) {
@@ -194,6 +193,5 @@ inet_ntop6(src, dst, size)
 		__set_errno (ENOSPC);
 		return (NULL);
 	}
-	strcpy(dst, tmp);
-	return (dst);
+	return strcpy(dst, tmp);
 }
diff --git a/resolv/nsap_addr.c b/resolv/nsap_addr.c
index 2222cda75a..53a19d59be 100644
--- a/resolv/nsap_addr.c
+++ b/resolv/nsap_addr.c
@@ -60,8 +60,7 @@ inet_nsap_addr(ascii, binary, maxlen)
 			continue;
 		if (!isascii(c))
 			return (0);
-		if (islower(c))
-			c = toupper(c);
+		c = toupper(c);
 		if (isxdigit(c)) {
 			nib = xtob(c);
 			if ((c = *ascii++)) {