summaryrefslogtreecommitdiff
path: root/dmi.c
diff options
context:
space:
mode:
authorstefanct <stefanct@2b7e53f0-3cfb-0310-b3e9-8179ed1497e1>2015-01-27 18:07:50 +0000
committerstefanct <stefanct@2b7e53f0-3cfb-0310-b3e9-8179ed1497e1>2015-01-27 18:07:50 +0000
commit9f9b0b6db7f3ad9f159c3c0061591d0133cf3824 (patch)
tree8a458f2a546da385a13b3662586000286e3aa02d /dmi.c
parentad215f66742e19bfaf3f681cd93c1d8a17f3f916 (diff)
downloadflashrom-9f9b0b6db7f3ad9f159c3c0061591d0133cf3824.tar.gz
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. Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> git-svn-id: https://code.coreboot.org/svn/flashrom/trunk@1878 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'dmi.c')
-rw-r--r--dmi.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/dmi.c b/dmi.c
index 832d7ab..c9d904b 100644
--- a/dmi.c
+++ b/dmi.c
@@ -21,6 +21,13 @@
* 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 <string.h>
#include <ctype.h>
@@ -86,16 +93,6 @@ static const struct {
};
#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)
{
uint8_t sum = 0;