gnunet-svn
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]