diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-06-26 07:44:55 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-07-23 09:27:47 +0200 |
commit | 63e42784290b4bb103fbb3f64bad23dc9edef9f3 (patch) | |
tree | ff8d04a0fe555005b7bd62df12ff98d1d58d8f4a /cpukit/libtest | |
parent | libtest: Add push/pop fixture support (diff) | |
download | rtems-63e42784290b4bb103fbb3f64bad23dc9edef9f3.tar.bz2 |
libtest: Add T_get_scope()
Update #3199.
Diffstat (limited to 'cpukit/libtest')
-rw-r--r-- | cpukit/libtest/t-test.c | 39 |
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; + } +} |