Fix C99 compilation warning on OpenBSD
authorSofian Brabez <sbz@FreeBSD.org>
Sat, 27 Jun 2020 17:56:31 +0000 (19:56 +0200)
committerSofian Brabez <sbz@FreeBSD.org>
Sat, 27 Jun 2020 18:01:41 +0000 (20:01 +0200)
Similar to Linux, OpenBSD does not defined `strnstr()`, this change
define the function implementation and chase the C99 warning implicit
declaration

warning: implicit declaration of function 'strnstr' is invalid in C99 [-Wimplicit-function-declaration]

Thx mpi@ gaston@

compat.c
compat.h

index 464bf52c8e6b47461dc16527334f2cb60f8e41fa..e3b4d843333a75221f460d37f78c16b5ee7559ec 100644 (file)
--- a/compat.c
+++ b/compat.c
@@ -1,5 +1,6 @@
 #include <string.h>
 
+#if defined(__linux__) || defined(__OpenBSD__)
 char *
 strnstr(const char *s, const char *find, size_t slen)
 {
@@ -20,3 +21,4 @@ strnstr(const char *s, const char *find, size_t slen)
        }
        return ((char *)s);
 }
+#endif
index 94456a705e2d3f449e0bccee59a8e6fbe9d2bcc4..e29ce4abda91ffcb2cd19dfabaf1f776ef8d5d20 100644 (file)
--- a/compat.h
+++ b/compat.h
@@ -10,8 +10,10 @@ typedef Elf64_Shdr Elf_Shdr;
 typedef Elf32_Ehdr Elf_Ehdr;
 typedef Elf32_Shdr Elf_Shdr;
 #endif
+#endif
 
-/* Linux does not define strnstr() function */
+#if defined(__linux__) || defined(__OpenBSD__)
+/* Linux and OpenBSD does not define strnstr() function */
 char *strnstr(const char *, const char *, size_t);
 #endif