mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-10 13:50:08 +02:00
48 lines
1.1 KiB
Diff
48 lines
1.1 KiB
Diff
From 3db15d63ae6a9ceeaad80f367e3a7f9df003dae1 Mon Sep 17 00:00:00 2001
|
|
From: Jerome Duval <jerome.duval@gmail.com>
|
|
Date: Mon, 24 Nov 2014 18:45:00 +0000
|
|
Subject: haiku: we define bzero(x, y) but not bzero.
|
|
|
|
|
|
diff --git a/openbsd-compat/explicit_bzero.c b/openbsd-compat/explicit_bzero.c
|
|
index 3c85a48..a02e35e 100644
|
|
--- a/openbsd-compat/explicit_bzero.c
|
|
+++ b/openbsd-compat/explicit_bzero.c
|
|
@@ -23,6 +23,24 @@ explicit_bzero(void *p, size_t n)
|
|
|
|
#else /* HAVE_MEMSET_S */
|
|
|
|
+#ifdef __HAIKU__
|
|
+/* Haiku defines bzero(x, y) but not bzero */
|
|
+
|
|
+/*
|
|
+ * Indirect memset through a volatile pointer to hopefully avoid
|
|
+ * dead-store optimisation eliminating the call.
|
|
+ */
|
|
+static void (* volatile ssh_memset)(void *, int, size_t) = memset;
|
|
+
|
|
+void
|
|
+explicit_bzero(void *p, size_t n)
|
|
+{
|
|
+ ssh_memset(p, 0, n);
|
|
+}
|
|
+
|
|
+
|
|
+#else
|
|
+
|
|
/*
|
|
* Indirect bzero through a volatile pointer to hopefully avoid
|
|
* dead-store optimisation eliminating the call.
|
|
@@ -35,6 +53,8 @@ explicit_bzero(void *p, size_t n)
|
|
ssh_bzero(p, n);
|
|
}
|
|
|
|
+#endif
|
|
+
|
|
#endif /* HAVE_MEMSET_S */
|
|
|
|
#endif /* HAVE_EXPLICIT_BZERO */
|
|
--
|
|
1.8.3.4
|
|
|