[rtems commit] bsp/tqm8xx: Use custom string to uint32_t
Sebastian Huber
sebh at rtems.org
Mon Sep 17 06:58:59 UTC 2018
Module: rtems
Branch: master
Commit: 7916139eab8aacb8d865f739a069db2cc603f055
Changeset: http://git.rtems.org/rtems/commit/?id=7916139eab8aacb8d865f739a069db2cc603f055
Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
Date: Thu Sep 13 11:33:50 2018 +0200
bsp/tqm8xx: Use custom string to uint32_t
Avoid C locale support which is not available at this stage.
---
bsps/powerpc/tqm8xx/start/bspstart.c | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/bsps/powerpc/tqm8xx/start/bspstart.c b/bsps/powerpc/tqm8xx/start/bspstart.c
index b42ce1c..09208ac 100644
--- a/bsps/powerpc/tqm8xx/start/bspstart.c
+++ b/bsps/powerpc/tqm8xx/start/bspstart.c
@@ -76,11 +76,28 @@ static const char *bsp_tqm_get_cib_string( const char *cib_id)
}
}
+static uint32_t str_to_u32(const char *s)
+{
+ uint32_t v = 0;
+
+ while (true) {
+ unsigned char digit = (unsigned char)*s - '0';
+
+ if (digit > 9) {
+ break;
+ }
+
+ v = (v * 10) + digit;
+ ++s;
+ }
+
+ return v;
+}
+
static rtems_status_code bsp_tqm_get_cib_uint32( const char *cib_id,
uint32_t *result)
{
const char *item_ptr;
- char *end_ptr;
item_ptr = bsp_tqm_get_cib_string(cib_id);
if (item_ptr == NULL) {
return RTEMS_INVALID_ID;
@@ -88,7 +105,7 @@ static rtems_status_code bsp_tqm_get_cib_uint32( const char *cib_id,
/*
* convert string to uint32
*/
- *result = strtoul(item_ptr,&end_ptr,10);
+ *result = str_to_u32(item_ptr);
return RTEMS_SUCCESSFUL;
}
More information about the vc
mailing list