diff options
Diffstat (limited to 'cpukit/libcsupport/src/assocnamebylocalbitfield.c')
-rw-r--r-- | cpukit/libcsupport/src/assocnamebylocalbitfield.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/cpukit/libcsupport/src/assocnamebylocalbitfield.c b/cpukit/libcsupport/src/assocnamebylocalbitfield.c new file mode 100644 index 0000000000..c9d1fa1256 --- /dev/null +++ b/cpukit/libcsupport/src/assocnamebylocalbitfield.c @@ -0,0 +1,38 @@ +/* + * assoc.c + * rtems assoc routines + * + * $Id$ + */ + +#if HAVE_CONFIG_H +#include "config.h" +#endif + +#define INSIDE_ASSOC + +#include <rtems.h> +#include <rtems/assoc.h> + +#include <string.h> /* strcat, strcmp */ + +char *rtems_assoc_name_by_local_bitfield( + const rtems_assoc_t *ap, + uint32_t value, + char *buffer +) +{ + uint32_t b; + + *buffer = 0; + + for (b = 1; b; b <<= 1) { + if (b & value) { + if (*buffer) + strcat(buffer, " "); + strcat(buffer, rtems_assoc_name_by_local(ap, b)); + } + } + + return buffer; +} |