summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport/src/assocnamebylocalbitfield.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2007-03-26 22:31:31 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2007-03-26 22:31:31 +0000
commit55568af2e70d7026b57fe54ce14f6980a37c4e08 (patch)
tree9ecac1722450cf6b582450bd90e15e878d290fe5 /cpukit/libcsupport/src/assocnamebylocalbitfield.c
parent2007-03-26 Chris Johns <chrisj@rtems.org> (diff)
downloadrtems-55568af2e70d7026b57fe54ce14f6980a37c4e08.tar.bz2
2007-03-26 Joel Sherrill <joel@OARcorp.com>
* libcsupport/src/assoc.c, libcsupport/src/libio.c, libcsupport/src/write.c: Split files to shrink minimum.exe. Hopefully this will not be deemed necessary to commit to the 4.7 branch. * libcsupport/src/assoclocalbyname.c, libcsupport/src/assoclocalbyremote.c, libcsupport/src/assoclocalbyremotebitfield.c, libcsupport/src/assocnamebylocal.c, libcsupport/src/assocnamebylocalbitfield.c, libcsupport/src/assocnamebyremote.c, libcsupport/src/assocnamebyremotebitfield.c, libcsupport/src/assocptrbylocal.c, libcsupport/src/assocptrbyname.c, libcsupport/src/assocptrbyremote.c, libcsupport/src/assocremotebylocal.c, libcsupport/src/assocremotebylocalbitfield.c, libcsupport/src/assocremotebyname.c, libcsupport/src/libio_init.c, libcsupport/src/write_r.c: New files.
Diffstat (limited to 'cpukit/libcsupport/src/assocnamebylocalbitfield.c')
-rw-r--r--cpukit/libcsupport/src/assocnamebylocalbitfield.c38
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;
+}