This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
Re: [PATCH v3 1/2] Import strnstr.c from FreeBSD.
This caused a conflict with the iconv support. See attached patch.
From 754f598a0a0dbde072a5baa3d4c3374333326c76 Mon Sep 17 00:00:00 2001
From: Sebastian Huber <sebastian.huber@embedded-brains.de>
Date: Fri, 25 Aug 2017 19:48:42 +0200
Subject: [PATCH] Fix compile error due to new strnstr()
Remove local strnstr() implementation to fix compile error:
newlib/libc/iconv/lib/aliasesi.c:53:8: error: conflicting types for 'strnstr'
_DEFUN(strnstr, (haystack, needle, length),
^
In file included from newlib/libc/iconv/lib/aliasesi.c:29:0:
newlib/libc/include/string.h:125:10:
note: previous declaration of 'strnstr' was here
char *strnstr(const char *, const char *, size_t) __pure;
^~~~~~~
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
---
newlib/libc/iconv/lib/aliasesi.c | 43 ----------------------------------------
1 file changed, 43 deletions(-)
diff --git a/newlib/libc/iconv/lib/aliasesi.c b/newlib/libc/iconv/lib/aliasesi.c
index f94ac8f..41497c6 100644
--- a/newlib/libc/iconv/lib/aliasesi.c
+++ b/newlib/libc/iconv/lib/aliasesi.c
@@ -34,49 +34,6 @@
#include "local.h"
/*
- * strnstr - locate a substring in a fixed-size string.
- *
- * PARAMETERS:
- * _CONST char *haystack - the string in which to search.
- * _CONST char *needle - the string which to search.
- * int length - the maximum 'haystack' string length.
- *
- * DESCRIPTION:
- * The strstr() function finds the first occurrence of the substring
- * 'needle' in the string 'haystack'. At most 'length' bytes are searched.
- *
- * RETURN:
- * Returns a pointer to the beginning of substring, or NULL if substring
- * was not found.
- */
-static char *
-_DEFUN(strnstr, (haystack, needle, length),
- _CONST char *haystack _AND
- _CONST char *needle _AND
- int length)
-{
- _CONST char *max = haystack + length;
-
- if (*haystack == '\0')
- return *needle == '\0' ? (char *)haystack : (char *)NULL;
-
- while (haystack < max)
- {
- int i = 0;
- while (1)
- {
- if (needle[i] == '\0')
- return (char *)haystack;
- if (needle[i] != haystack[i])
- break;
- i += 1;
- }
- haystack += 1;
- }
- return (char *)NULL;
-}
-
-/*
* canonical_form - canonize 'str'.
*
* PARAMETERS:
--
1.8.1.4