summaryrefslogtreecommitdiff
path: root/tests/setugid.c
diff options
context:
space:
mode:
authorEugene Syromyatnikov <evgsyr@gmail.com>2016-11-28 02:50:03 +0300
committerDmitry V. Levin <ldv@altlinux.org>2016-12-04 17:42:38 +0000
commit3304d82108ba863d51e71af3b86c9aa0247f04f1 (patch)
tree0620449f9e59fa73fe2c0bbc683ec88b4dd682bd /tests/setugid.c
parentdcc9b9cdb2cd6de7c5b300b8d1f5dfb3f0b31ab2 (diff)
downloadstrace-3304d82108ba863d51e71af3b86c9aa0247f04f1.tar.gz
uid: use printuid for printing UID/GID value
* uid.c (setfsuid, get_print_uid, print_gid): Use printuid. * tests/setfsugid.c (printuid): New function. (main): Use it to print UID/GID values. * tests/setgroups.c: Likewise. * tests/setugid.c (ugid2int): Remove. (printuid): New function. (main): Use it to print UID/GID values. Co-authored-by: Elvira Khabirova <lineprinter0@gmail.com>
Diffstat (limited to 'tests/setugid.c')
-rw-r--r--tests/setugid.c32
1 files changed, 13 insertions, 19 deletions
diff --git a/tests/setugid.c b/tests/setugid.c
index dd6b921a5..aba277c59 100644
--- a/tests/setugid.c
+++ b/tests/setugid.c
@@ -31,13 +31,13 @@
#include <stdio.h>
#include <unistd.h>
-static int
-ugid2int(const unsigned UGID_TYPE ugid)
+void
+printuid(unsigned UGID_TYPE id)
{
- if ((unsigned UGID_TYPE) -1U == ugid)
- return -1;
+ if (id == (unsigned UGID_TYPE) -1U)
+ printf("-1");
else
- return ugid;
+ printf("%u", id);
}
int
@@ -58,22 +58,23 @@ main(void)
unsigned int i;
for (i = 0; i < ARRAY_SIZE(tests); ++i) {
- const unsigned int num = ugid2int(tests[i]);
+ const unsigned int num = (unsigned UGID_TYPE) tests[i];
long expected;
if (num == ugid)
expected = 0;
- else if (num == -1U)
+ else if ((UGID_TYPE) num == (UGID_TYPE) -1U)
expected = -1;
else
continue;
const long rc = syscall(SYSCALL_NR, tests[i]);
- int saved_errno = errno;
+ const char *errstr = sprintrc(rc);
+
if (rc != expected) {
if (!i && ENOSYS == errno) {
- printf("%s(%u) = -1 ENOSYS (%m)\n",
- SYSCALL_NAME, ugid);
+ printf("%s(%u) = %s\n",
+ SYSCALL_NAME, ugid, errstr);
break;
}
perror_msg_and_fail("%s(%#lx) != %ld",
@@ -81,15 +82,8 @@ main(void)
}
printf("%s(", SYSCALL_NAME);
- if (num == -1U)
- printf("-1");
- else
- printf("%u", num);
- errno = saved_errno;
- if (expected)
- printf(") = -1 %s (%m)\n", errno2name());
- else
- printf(") = 0\n");
+ printuid(num);
+ printf(") = %s\n", errstr);
}
puts("+++ exited with 0 +++");