mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-26 22:52:34 +02:00
Make strnlen() visible in old versions of glibc
Strnlen() is in POSIX 2008 but was a GNU extension up to glibc 2.10 requiring to define _GNU_SOURCE. This fixes compilation on CentOS 4.9. Also, move our implementation of strnlen() that was added to support DJGPP to helpers.c. Corresponding to flashrom svn r1878. Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
This commit is contained in:
parent
0cbd8c2558
commit
dc62793184
17
dmi.c
17
dmi.c
@ -21,6 +21,13 @@
|
|||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* strnlen is in POSIX but was a GNU extension up to glibc 2.10 */
|
||||||
|
#if (__GLIBC__ == 2 && __GLIBC_MINOR__ < 10) || __GLIBC__ < 2
|
||||||
|
#define _GNU_SOURCE
|
||||||
|
#else
|
||||||
|
#define _POSIX_C_SOURCE 200809L
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <strings.h>
|
#include <strings.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
@ -86,16 +93,6 @@ static const struct {
|
|||||||
};
|
};
|
||||||
|
|
||||||
#if CONFIG_INTERNAL_DMI == 1
|
#if CONFIG_INTERNAL_DMI == 1
|
||||||
#ifdef __DJGPP__ /* There is no strnlen in DJGPP. FIXME: Move this to a common utility file. */
|
|
||||||
size_t strnlen(const char *str, size_t n)
|
|
||||||
{
|
|
||||||
size_t i;
|
|
||||||
for (i = 0; i < n && str[i] != '\0'; i++)
|
|
||||||
;
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static bool dmi_checksum(const uint8_t * const buf, size_t len)
|
static bool dmi_checksum(const uint8_t * const buf, size_t len)
|
||||||
{
|
{
|
||||||
uint8_t sum = 0;
|
uint8_t sum = 0;
|
||||||
|
3
flash.h
3
flash.h
@ -260,6 +260,9 @@ void tolower_string(char *str);
|
|||||||
#ifdef __MINGW32__
|
#ifdef __MINGW32__
|
||||||
char* strtok_r(char *str, const char *delim, char **nextp);
|
char* strtok_r(char *str, const char *delim, char **nextp);
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(__DJGPP__)
|
||||||
|
size_t strnlen(const char *str, size_t n);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* flashrom.c */
|
/* flashrom.c */
|
||||||
extern const char flashrom_version[];
|
extern const char flashrom_version[];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user