summaryrefslogtreecommitdiffstats
path: root/cpukit/libtest/t-test.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/libtest/t-test.c')
-rw-r--r--cpukit/libtest/t-test.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/cpukit/libtest/t-test.c b/cpukit/libtest/t-test.c
index bf9b68cdf2..e74b4d3495 100644
--- a/cpukit/libtest/t-test.c
+++ b/cpukit/libtest/t-test.c
@@ -1095,3 +1095,42 @@ T_pop_fixture(void)
memset(node, 0, sizeof(*node));
}
+
+void
+T_get_scope(const char * const * const *desc, char *buf, size_t n,
+ const size_t *second_indices)
+{
+ size_t i;
+
+ i = 0;
+
+ while (true) {
+ const char * const *desc2;
+ size_t m;
+
+ desc2 = desc[i];
+
+ if (desc2 == NULL) {
+ return;
+ }
+
+ if (n > 1) {
+ buf[0] = '/';
+ --n;
+ ++buf;
+ } else {
+ return;
+ }
+
+ m = strlcpy(buf, desc2[second_indices[i]], n);
+
+ if (m < n) {
+ n -= m;
+ buf += m;
+ } else {
+ return;
+ }
+
+ ++i;
+ }
+}