diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-11-21 17:30:52 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-12-07 14:22:01 +0100 |
commit | 9c9c6a93b1a17ad12f61b41e1d5f4616871cdba7 (patch) | |
tree | f17c5de012a4827131416d31dcb8a3e623be9873 /cpukit/score/src/objectsetname.c | |
parent | score: Remove dead code (diff) | |
download | rtems-9c9c6a93b1a17ad12f61b41e1d5f4616871cdba7.tar.bz2 |
score: Remove Objects_Information::is_string
Use Objects_Information::name_length to store this information.
Update #3621.
Diffstat (limited to 'cpukit/score/src/objectsetname.c')
-rw-r--r-- | cpukit/score/src/objectsetname.c | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/cpukit/score/src/objectsetname.c b/cpukit/score/src/objectsetname.c index 227de515ec..32197a3cf8 100644 --- a/cpukit/score/src/objectsetname.c +++ b/cpukit/score/src/objectsetname.c @@ -29,32 +29,33 @@ bool _Objects_Set_name( const char *name ) { - size_t length; - const char *s; + if ( _Objects_Has_string_name( information ) ) { + size_t length; + char *dup; - s = name; - length = strnlen( name, information->name_length ); + length = strnlen( name, information->name_length ); + dup = _Workspace_String_duplicate( name, length ); + if ( dup == NULL ) { + return false; + } - if ( information->is_string ) { - char *d; + the_object->name.name_p = dup; + } else { + char c[ 4 ]; + size_t i; - d = _Workspace_Allocate( length + 1 ); - if ( !d ) - return false; + memset( c, ' ', sizeof( c ) ); - _Workspace_Free( (void *)the_object->name.name_p ); - the_object->name.name_p = NULL; + for ( i = 0; i < 4; ++i ) { + if ( name[ i ] == '\0') { + break; + } - strncpy( d, name, length ); - d[length] = '\0'; - the_object->name.name_p = d; - } else { - the_object->name.name_u32 = _Objects_Build_name( - ((length) ? s[ 0 ] : ' '), - ((length > 1) ? s[ 1 ] : ' '), - ((length > 2) ? s[ 2 ] : ' '), - ((length > 3) ? s[ 3 ] : ' ') - ); + c[ i ] = name[ i ]; + } + + the_object->name.name_u32 = + _Objects_Build_name( c[ 0 ], c[ 1 ], c[ 2 ], c[ 3 ] ); } return true; |