diff options
author | Schanzenbach, Martin <mschanzenbach@posteo.de> | 2019-02-05 07:16:19 +0100 |
---|---|---|
committer | Schanzenbach, Martin <mschanzenbach@posteo.de> | 2019-02-05 07:16:19 +0100 |
commit | 395be9a8fb85d172dcbb06826aed8b5b29ceeac2 (patch) | |
tree | 3ffbb3918316368c4400a34393e9febddc6bbad6 /src/util | |
parent | 7c469133a0692a20ea4db3f91a9a12b2a1a448be (diff) | |
download | gnunet-395be9a8fb85d172dcbb06826aed8b5b29ceeac2.tar.gz gnunet-395be9a8fb85d172dcbb06826aed8b5b29ceeac2.zip |
- Fix build of ats transport plugin not linking against libgnunetnt
- Add compat memrchr layer for Win32 and macOS
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/Makefile.am | 3 | ||||
-rw-r--r-- | src/util/proc_compat.c | 51 |
2 files changed, 53 insertions, 1 deletions
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 = \ | |||
120 | strings.c \ | 120 | strings.c \ |
121 | time.c \ | 121 | time.c \ |
122 | tun.c \ | 122 | tun.c \ |
123 | speedup.c speedup.h | 123 | speedup.c speedup.h \ |
124 | proc_compat.c | ||
124 | 125 | ||
125 | if HAVE_LIBIDN | 126 | if HAVE_LIBIDN |
126 | LIBIDN= -lidn | 127 | 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 @@ | |||
1 | /* | ||
2 | This file is part of GNUnet. | ||
3 | Copyright (C) 2001, 2002, 2003, 2004, 2005 GNUnet e.V. | ||
4 | |||
5 | GNUnet is free software: you can redistribute it and/or modify it | ||
6 | under the terms of the GNU Affero General Public License as published | ||
7 | by the Free Software Foundation, either version 3 of the License, | ||
8 | or (at your option) any later version. | ||
9 | |||
10 | GNUnet is distributed in the hope that it will be useful, but | ||
11 | WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
13 | Affero General Public License for more details. | ||
14 | |||
15 | You should have received a copy of the GNU Affero General Public License | ||
16 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
17 | |||
18 | SPDX-License-Identifier: AGPL3.0-or-later | ||
19 | */ | ||
20 | #include "platform.h" | ||
21 | |||
22 | /** | ||
23 | * @author Martin Schanzenbach | ||
24 | * | ||
25 | * @file util/proc_compat.c | ||
26 | * Definitions for macOS and Win32 | ||
27 | */ | ||
28 | |||
29 | |||
30 | /** | ||
31 | * memrchr as defined in glibc | ||
32 | * | ||
33 | * @param s pointer to memory | ||
34 | * @param c character to search for | ||
35 | * @param n search character limit | ||
36 | */ | ||
37 | void* | ||
38 | GN_memrchr_ (const void *s, | ||
39 | int c, | ||
40 | size_t n) | ||
41 | { | ||
42 | const unsigned char *ucs = s; | ||
43 | ssize_t i; | ||
44 | |||
45 | for (i = n - 1; i >= 0; i--) | ||
46 | if (c == (int) ucs[i]) | ||
47 | return (void *) &ucs[i]; | ||
48 | return NULL; | ||
49 | } | ||
50 | |||
51 | |||