[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [gnunet] branch master updated: - Fix build of ats transpor
From: |
gnunet |
Subject: |
[GNUnet-SVN] [gnunet] branch master updated: - Fix build of ats transport plugin not linking against libgnunetnt - Add compat memrchr layer for Win32 and macOS |
Date: |
Tue, 05 Feb 2019 07:17:39 +0100 |
This is an automated email from the git hooks/post-receive script.
martin-schanzenbach pushed a commit to branch master
in repository gnunet.
The following commit(s) were added to refs/heads/master by this push:
new 395be9a8f - Fix build of ats transport plugin not linking against
libgnunetnt - Add compat memrchr layer for Win32 and macOS
395be9a8f is described below
commit 395be9a8fb85d172dcbb06826aed8b5b29ceeac2
Author: Schanzenbach, Martin <address@hidden>
AuthorDate: Tue Feb 5 07:16:19 2019 +0100
- Fix build of ats transport plugin not linking against libgnunetnt
- Add compat memrchr layer for Win32 and macOS
---
po/POTFILES.in | 2 ++
src/ats/Makefile.am | 1 +
src/gns/gnunet-service-gns_resolver.c | 19 ------------
src/include/compat.h | 54 +++++++++++++++++++++++++++++++++++
src/include/platform.h | 4 +++
src/util/Makefile.am | 3 +-
src/util/proc_compat.c | 51 +++++++++++++++++++++++++++++++++
7 files changed, 114 insertions(+), 20 deletions(-)
diff --git a/po/POTFILES.in b/po/POTFILES.in
index a1d1713f9..0ee48fcde 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -517,6 +517,7 @@ src/util/os_network.c
src/util/os_priority.c
src/util/peer.c
src/util/plugin.c
+src/util/proc_compat.c
src/util/program.c
src/util/regex.c
src/util/resolver_api.c
@@ -539,6 +540,7 @@ src/vpn/vpn_api.c
src/zonemaster/gnunet-service-zonemaster-monitor.c
src/zonemaster/gnunet-service-zonemaster.c
src/fs/fs_api.h
+src/include/compat.h
src/include/gnunet_common.h
src/include/gnunet_mq_lib.h
src/include/gnunet_time_lib.h
diff --git a/src/ats/Makefile.am b/src/ats/Makefile.am
index 4f2a93227..2a62d71bd 100644
--- a/src/ats/Makefile.am
+++ b/src/ats/Makefile.am
@@ -74,6 +74,7 @@ libgnunet_plugin_ats_proportional_la_LIBADD = \
libgnunetats.la \
$(top_builddir)/src/statistics/libgnunetstatistics.la \
$(top_builddir)/src/util/libgnunetutil.la \
+ $(top_builddir)/src/nt/libgnunetnt.la \
$(LTLIBINTL)
libgnunet_plugin_ats_proportional_la_LDFLAGS = \
$(GN_PLUGIN_LDFLAGS)
diff --git a/src/gns/gnunet-service-gns_resolver.c
b/src/gns/gnunet-service-gns_resolver.c
index 68c03edf1..703a0f652 100644
--- a/src/gns/gnunet-service-gns_resolver.c
+++ b/src/gns/gnunet-service-gns_resolver.c
@@ -624,25 +624,6 @@ timeout_resolution (void *cls)
}
-#if (defined WINDOWS) || (defined DARWIN)
-/* Don't have this on W32, here's a naive implementation
- * Was somehow removed on OS X ... */
-static void *
-memrchr (const void *s,
- int c,
- size_t n)
-{
- const unsigned char *ucs = s;
- ssize_t i;
-
- for (i = n - 1; i >= 0; i--)
- if (c == (int) ucs[i])
- return (void *) &ucs[i];
- return NULL;
-}
-#endif
-
-
/**
* Get the next, rightmost label from the name that we are trying to resolve,
* and update the resolution position accordingly. Labels usually consist
diff --git a/src/include/compat.h b/src/include/compat.h
new file mode 100644
index 000000000..31a9760c5
--- /dev/null
+++ b/src/include/compat.h
@@ -0,0 +1,54 @@
+/*
+ This file is part of GNUnet.
+ Copyright (C) 2001, 2002, 2003, 2004, 2005 GNUnet e.V.
+
+ GNUnet is free software: you can redistribute it and/or modify it
+ under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License,
+ or (at your option) any later version.
+
+ GNUnet is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ SPDX-License-Identifier: AGPL3.0-or-later
+*/
+
+/**
+ * @author Martin Schanzenbach
+ *
+ * @file include/compat.h
+ * Definitions for macOS and Win32
+ */
+
+#ifndef _COMPAT_H
+#define _COMPAT_H
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+ /**
+ * memrchr as defined in glibc
+ *
+ * @param s pointer to memory
+ * @param c character to search for
+ * @param n search character limit
+ */
+void*
+GN_memrchr_ (const void *s,
+ int c,
+ size_t n);
+
+#define memrchr(s,c,n) GN_memrchr_(s,c,n)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/include/platform.h b/src/include/platform.h
index e12c49888..b0a7c0a47 100644
--- a/src/include/platform.h
+++ b/src/include/platform.h
@@ -70,6 +70,10 @@
#define VERBOSE_STATS 0
+#if (defined WINDOWS) || (defined DARWIN)
+#include "compat.h"
+#endif
+
#ifdef CYGWIN
#include <sys/reent.h>
#endif
diff --git a/src/util/Makefile.am b/src/util/Makefile.am
index fc5a4648c..625ff87a2 100644
--- a/src/util/Makefile.am
+++ b/src/util/Makefile.am
@@ -120,7 +120,8 @@ libgnunetutil_la_SOURCES = \
strings.c \
time.c \
tun.c \
- speedup.c speedup.h
+ speedup.c speedup.h \
+ proc_compat.c
if HAVE_LIBIDN
LIBIDN= -lidn
diff --git a/src/util/proc_compat.c b/src/util/proc_compat.c
new file mode 100644
index 000000000..7abea446a
--- /dev/null
+++ b/src/util/proc_compat.c
@@ -0,0 +1,51 @@
+/*
+ This file is part of GNUnet.
+ Copyright (C) 2001, 2002, 2003, 2004, 2005 GNUnet e.V.
+
+ GNUnet is free software: you can redistribute it and/or modify it
+ under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License,
+ or (at your option) any later version.
+
+ GNUnet is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ SPDX-License-Identifier: AGPL3.0-or-later
+*/
+#include "platform.h"
+
+/**
+ * @author Martin Schanzenbach
+ *
+ * @file util/proc_compat.c
+ * Definitions for macOS and Win32
+ */
+
+
+/**
+ * memrchr as defined in glibc
+ *
+ * @param s pointer to memory
+ * @param c character to search for
+ * @param n search character limit
+ */
+void*
+GN_memrchr_ (const void *s,
+ int c,
+ size_t n)
+{
+ const unsigned char *ucs = s;
+ ssize_t i;
+
+ for (i = n - 1; i >= 0; i--)
+ if (c == (int) ucs[i])
+ return (void *) &ucs[i];
+ return NULL;
+}
+
+
--
To stop receiving notification emails like this one, please contact
address@hidden
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] [gnunet] branch master updated: - Fix build of ats transport plugin not linking against libgnunetnt - Add compat memrchr layer for Win32 and macOS,
gnunet <=