summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2015-03-09 13:52:49 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2015-03-09 13:52:49 +0100
commit19799fb0f749e4e1b81dd68939c32af3d3ea89af (patch)
tree885903535c9f1e5adab72ab32e92883cadf33d39
parentnetwork: Avoid clash with FreeBSD <sys/time.h> (diff)
downloadrtems-19799fb0f749e4e1b81dd68939c32af3d3ea89af.tar.bz2
libtests/stringto01: Fix for GCC 5.0
-rw-r--r--testsuites/libtests/stringto01/init.c5
-rw-r--r--testsuites/libtests/stringto01/stringto_test_template.h31
2 files changed, 23 insertions, 13 deletions
diff --git a/testsuites/libtests/stringto01/init.c b/testsuites/libtests/stringto01/init.c
index 56fd7209b1..52ac62b80b 100644
--- a/testsuites/libtests/stringto01/init.c
+++ b/testsuites/libtests/stringto01/init.c
@@ -26,6 +26,11 @@ rtems_task Init(rtems_task_argument argument);
#define __STRING(x) #x /* stringify without expanding x */
#define __XSTRING(x) __STRING(x) /* expand x, then stringify */
+static int get_base_10_or_16(const char *s)
+{
+ return (s[0] == '0' && s[1] == 'x') ? 16 : 10;
+}
+
/* c99 has LLONG_MAX instead of LONG_LONG_MAX */
#ifndef LONG_LONG_MAX
#define LONG_LONG_MAX LLONG_MAX
diff --git a/testsuites/libtests/stringto01/stringto_test_template.h b/testsuites/libtests/stringto01/stringto_test_template.h
index 360f4c0a84..1309b4bda4 100644
--- a/testsuites/libtests/stringto01/stringto_test_template.h
+++ b/testsuites/libtests/stringto01/stringto_test_template.h
@@ -40,7 +40,8 @@ void TEST_STRING_TO_NAME(void)
" - NULL return value - RTEMS_INVALID_ADDRESS"
);
#if defined(STRING_TO_INTEGER)
- status = STRING_TO_NAME_METHOD( GOOD_VALUE_STRING, NULL, &endptr, 10 );
+ status = STRING_TO_NAME_METHOD( GOOD_VALUE_STRING, NULL, &endptr,
+ get_base_10_or_16( GOOD_VALUE_STRING ) );
#elif defined(STRING_TO_POINTER) || defined(STRING_TO_FLOAT)
status = STRING_TO_NAME_METHOD( GOOD_VALUE_STRING, NULL, &endptr );
#endif
@@ -52,7 +53,8 @@ void TEST_STRING_TO_NAME(void)
" NULL endptr return value - RTEMS_SUCCESSFUL"
);
#if defined(STRING_TO_INTEGER)
- status = STRING_TO_NAME_METHOD( GOOD_VALUE_STRING, &value, NULL, 10 );
+ status = STRING_TO_NAME_METHOD( GOOD_VALUE_STRING, &value, NULL,
+ get_base_10_or_16( GOOD_VALUE_STRING ) );
#elif defined(STRING_TO_POINTER) || defined(STRING_TO_FLOAT)
status = STRING_TO_NAME_METHOD( GOOD_VALUE_STRING, &value, NULL );
#endif
@@ -67,8 +69,8 @@ void TEST_STRING_TO_NAME(void)
" w/endptr return value - RTEMS_SUCCESSFUL"
);
#if defined(STRING_TO_INTEGER)
- status = STRING_TO_NAME_METHOD(
- STRING_TO_MAX_STRING, &value, &endptr, 10 );
+ status = STRING_TO_NAME_METHOD( STRING_TO_MAX_STRING, &value, &endptr,
+ get_base_10_or_16( STRING_TO_MAX_STRING ) );
#elif defined(STRING_TO_POINTER) || defined(STRING_TO_FLOAT)
status = STRING_TO_NAME_METHOD( STRING_TO_MAX_STRING, &value, &endptr );
#endif
@@ -84,7 +86,8 @@ void TEST_STRING_TO_NAME(void)
" w/endptr return value - RTEMS_SUCCESSFUL"
);
#if defined(STRING_TO_INTEGER)
- status = STRING_TO_NAME_METHOD( GOOD_VALUE_STRING, &value, &endptr, 10 );
+ status = STRING_TO_NAME_METHOD( GOOD_VALUE_STRING, &value, &endptr,
+ get_base_10_or_16( GOOD_VALUE_STRING ) );
#elif defined(STRING_TO_POINTER) || defined(STRING_TO_FLOAT)
status = STRING_TO_NAME_METHOD( GOOD_VALUE_STRING, &value, &endptr );
#endif
@@ -99,7 +102,8 @@ void TEST_STRING_TO_NAME(void)
" w/endptr return value - RTEMS_NOT_DEFINED"
);
#if defined(STRING_TO_INTEGER)
- status = STRING_TO_NAME_METHOD( BAD_VALUE_STRING, &value, &endptr, 10 );
+ status = STRING_TO_NAME_METHOD( BAD_VALUE_STRING, &value, &endptr,
+ get_base_10_or_16( BAD_VALUE_STRING ) );
#elif defined(STRING_TO_POINTER) || defined(STRING_TO_FLOAT)
status = STRING_TO_NAME_METHOD( BAD_VALUE_STRING, &value, &endptr );
#endif
@@ -114,7 +118,8 @@ void TEST_STRING_TO_NAME(void)
" - empty string - w/endptr return value - RTEMS_NOT_DEFINED"
);
#if defined(STRING_TO_INTEGER)
- status = STRING_TO_NAME_METHOD( "", &value, &endptr, 10 );
+ status = STRING_TO_NAME_METHOD( "", &value, &endptr,
+ get_base_10_or_16( "" ) );
#elif defined(STRING_TO_POINTER) || defined(STRING_TO_FLOAT)
status = STRING_TO_NAME_METHOD( "", &value, &endptr );
#endif
@@ -129,8 +134,8 @@ void TEST_STRING_TO_NAME(void)
puts(
STRING_TO_NAME_METHOD_STRING " - overflow - RTEMS_INVALID_NUMBER" );
#if defined(STRING_TO_INTEGER)
- status = STRING_TO_NAME_METHOD(
- TEST_TOO_LARGE_STRING, &value, &endptr, 10 );
+ status = STRING_TO_NAME_METHOD( TEST_TOO_LARGE_STRING, &value, &endptr,
+ get_base_10_or_16( TEST_TOO_LARGE_STRING ) );
#elif defined(STRING_TO_POINTER) || defined(STRING_TO_FLOAT)
status = STRING_TO_NAME_METHOD( TEST_TOO_LARGE_STRING, &value, &endptr );
#endif
@@ -148,8 +153,8 @@ void TEST_STRING_TO_NAME(void)
puts(
STRING_TO_NAME_METHOD_STRING " - overflow - RTEMS_INVALID_NUMBER" );
#if defined(STRING_TO_INTEGER)
- status = STRING_TO_NAME_METHOD(
- TEST_TOO_LARGE_FOR_UCHAR, &value, &endptr, 10 );
+ status = STRING_TO_NAME_METHOD( TEST_TOO_LARGE_FOR_UCHAR, &value,
+ &endptr, get_base_10_or_16( TEST_TOO_LARGE_FOR_UCHAR ) );
#endif
if ( status != RTEMS_INVALID_NUMBER )
printf( "ERROR = %s\n", rtems_status_text(status) );
@@ -163,8 +168,8 @@ void TEST_STRING_TO_NAME(void)
value = 0;
puts( STRING_TO_NAME_METHOD_STRING "- RTEMS_INVALID_NUMBER" );
#if defined(STRING_TO_INTEGER)
- status = STRING_TO_NAME_METHOD(
- TEST_TOO_SMALL_STRING, &value, &endptr, 10 );
+ status = STRING_TO_NAME_METHOD( TEST_TOO_SMALL_STRING, &value, &endptr,
+ get_base_10_or_16( TEST_TOO_SMALL_STRING ) );
#elif defined(STRING_TO_POINTER) || defined(STRING_TO_FLOAT)
status = STRING_TO_NAME_METHOD( TEST_TOO_SMALL_STRING, &value, &endptr );
#endif