Fix decoding of 16-bit uid_t/git_t

* uid.c (printuid): Always cast value to uid_t.
diff --git a/uid.c b/uid.c
index c872392..f5712a2 100644
--- a/uid.c
+++ b/uid.c
@@ -148,10 +148,10 @@
 void
 printuid(const char *text, const unsigned int uid)
 {
-	if ((unsigned int) -1 == uid || (uid_t) -1 == uid)
+	if ((uid_t) -1U == (uid_t) uid)
 		tprintf("%s-1", text);
 	else
-		tprintf("%s%u", text, uid);
+		tprintf("%s%u", text, (uid_t) uid);
 }
 
 SYS_FUNC(setgroups)