strnlen, strict ansi, newlib vs glibc
Joel Sherrill
joel.sherrill@oarcorp.com
Thu Aug 14 15:27:00 GMT 2014
Hi
I have some native C++ code that I developed on CentOS and it
has no warnings. Someone moved it to Cygwin and reported warnings
for strnlen() not being prototyped. I investigated and the program did
include string.h. I tried RTEMS tools and got the same as Cygwin
since we have the same string.h from newlib.
Investigating this, it appears that strnlen() is protected by
__STRICT_ANSI__ on newlib and __USE_XOPEN2K8 on Linux.
Command: g++ -Wall -std=c++0x -c strtest.cc
This program is enough to reproduce the issue:
#include <string.h>
// size_t strnlen( const char *, size_t );
size_t f( const char *str )
{
return strnlen( str, 1000 );
}
What do you all think?
--
Joel Sherrill, Ph.D. Director of Research & Development
joel.sherrill@OARcorp.com On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (256) 722-9985
More information about the Newlib
mailing list