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
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
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)
}
-#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
--- /dev/null
+/*
+ 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
#define VERBOSE_STATS 0
+#if (defined WINDOWS) || (defined DARWIN)
+#include "compat.h"
+#endif
+
#ifdef CYGWIN
#include <sys/reent.h>
#endif
strings.c \
time.c \
tun.c \
- speedup.c speedup.h
+ speedup.c speedup.h \
+ proc_compat.c
if HAVE_LIBIDN
LIBIDN= -lidn
--- /dev/null
+/*
+ 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;
+}
+
+