From 0424b458ea25ce58fd914f20b0b6d739dc6dd513 Mon Sep 17 00:00:00 2001
From: Karl Heuer <kwzh@gnu.org>
Date: Sat, 3 Jun 1995 17:32:10 +0000
Subject: [PATCH] Undefined INHIBIT_STRING_HEADER when we have no other way of
 getting a bcopy and a bzero.

---
 regex.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/regex.c b/regex.c
index 2ccabc12e9..e6d614524c 100644
--- a/regex.c
+++ b/regex.c
@@ -62,8 +62,19 @@ char *malloc ();
 char *realloc ();
 #endif
 
-/* We used to test for `BSTRING' here, but only GCC and Emacs define
-   `BSTRING', as far as I know, and neither of them use this code.  */
+/* When used in Emacs's lib-src, we need to get bzero and bcopy somehow.
+   If nothing else has been done, use the method below.  */
+#ifdef INHIBIT_STRING_HEADER
+#if !(defined (HAVE_BZERO) && defined (HAVE_BCOPY))
+#if !defined (bzero) && !defined (bcopy)
+#undef INHIBIT_STRING_HEADER
+#endif
+#endif
+#endif
+
+/* This is the normal way of making sure we have a bcopy and a bzero.
+   This is used in most programs--a few other programs avoid this
+   by defining INHIBIT_STRING_HEADER.  */
 #ifndef INHIBIT_STRING_HEADER
 #if HAVE_STRING_H || STDC_HEADERS || defined (_LIBC)
 #include <string.h>
-- 
2.39.5