summaryrefslogtreecommitdiffstats
path: root/cpukit/score/macros/rtems
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1995-08-23 19:30:23 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1995-08-23 19:30:23 +0000
commit3235ad9a2cd717df901853ad5220a4aaffae84a9 (patch)
treef73a01d8c3065188a3ab283cf545b3ce7bc4f696 /cpukit/score/macros/rtems
parent80e2c29e640c96988eecbc13f1366711fc1063d5 (diff)
downloadrtems-3235ad9a2cd717df901853ad5220a4aaffae84a9.tar.bz2
Support for variable length names added to Object Handler. This supports
both fixed length "raw" names and strings from the API's point of view. Both inline and macro implementations were tested.
Diffstat (limited to '')
-rw-r--r--cpukit/score/macros/rtems/score/object.inl33
1 files changed, 7 insertions, 26 deletions
diff --git a/cpukit/score/macros/rtems/score/object.inl b/cpukit/score/macros/rtems/score/object.inl
index 6c7caa383a..27675b19bf 100644
--- a/cpukit/score/macros/rtems/score/object.inl
+++ b/cpukit/score/macros/rtems/score/object.inl
@@ -19,28 +19,6 @@
/*PAGE
*
- * _Objects_Is_name_valid
- *
- */
-
-#define _Objects_Is_name_valid( _name ) \
- ( (_name) != 0 )
-
-/*
- * rtems_name_to_characters
- *
- */
-
-#define rtems_name_to_characters( _name, _c1, _c2, _c3, _c4 ) \
- { \
- (*(_c1) = ((_name) >> 24) & 0xff; \
- (*(_c2) = ((_name) >> 16) & 0xff; \
- (*(_c3) = ((_name) >> 8) & 0xff; \
- (*(_c4) = ((_name)) & 0xff; \
- }
-
-/*PAGE
- *
* _Objects_Build_id
*
*/
@@ -134,8 +112,12 @@
\
_index = rtems_get_index( (_the_object)->id ); \
(_information)->local_table[ _index ] = (_the_object); \
- (_information)->name_table[ _index ] = (_name); \
- (_the_object)->name = &(_information)->name_table[ _index ]; \
+ \
+ if ( (_information)->is_string ) \
+ _Objects_Copy_name_string( (_name), (_the_object)->name ); \
+ else \
+ _Objects_Copy_name_raw( \
+ (_name), (_the_object)->name, (_information)->name_length ); \
}
/*PAGE
@@ -150,8 +132,7 @@
\
_index = rtems_get_index( (_the_object)->id ); \
(_information)->local_table[ _index ] = NULL; \
- (_information)->name_table[ _index ] = 0; \
- (_the_object)->name = 0; \
+ _Objects_Clear_name( (_the_object)->name, (_information)->name_length ); \
}
#endif