diff -ur netkit-base-0.17/inetd/builtins.c netkit-base-0.17-patched/inetd/builtins.c
--- netkit-base-0.17/inetd/builtins.c	2000-07-22 15:13:07.000000000 -0500
+++ netkit-base-0.17-patched/inetd/builtins.c	2006-12-02 00:50:05.801209342 -0600
@@ -140,10 +140,10 @@
 	text[LINESIZ + 1] = '\n';
 	for (rs = ring;;) {
 		if ((len = endring - rs) >= LINESIZ)
-			bcopy(rs, text, LINESIZ);
+			memcpy(text, rs, LINESIZ);
 		else {
-			bcopy(rs, text, len);
-			bcopy(ring, text + len, LINESIZ - len);
+			memcpy(text, rs, len);
+			memcpy(text + len, ring, LINESIZ - len);
 		}
 		if (++rs == endring)
 			rs = ring;
@@ -183,10 +183,10 @@
 		return;
 
 	if ((len = endring - rs) >= LINESIZ)
-		bcopy(rs, text, LINESIZ);
+		memcpy(text, rs, LINESIZ);
 	else {
-		bcopy(rs, text, len);
-		bcopy(ring, text + len, LINESIZ - len);
+		memcpy(text, rs, len);
+		memcpy(text + len, ring, LINESIZ - len);
 	}
 	if (++rs == endring)
 		rs = ring;
