Author: Andreas Beckmann <anbe@debian.org>
Description: fix building with -Werror=incompatible-pointer-types

--- a/chkshsgr.c
+++ b/chkshsgr.c
@@ -4,7 +4,7 @@
 
 int main()
 {
-  short x[4];
+  gid_t x[4];
 
   x[0] = x[1] = 0;
   if (getgroups(1,x) == 0) if (setgroups(1,x) == -1) _exit(1);
--- a/utime.c
+++ b/utime.c
@@ -8,7 +8,7 @@ char *fn;
 
 char *ustr;
 unsigned long u;
-time_t ut[2];
+struct utimbuf ut;
 
 int main(int argc,char **argv)
 {
@@ -19,7 +19,7 @@ int main(int argc,char **argv)
   if (!ustr) _exit(100);
   scan_ulong(ustr,&u);
 
-  ut[0] = ut[1] = u;
-  if (utime(fn,ut) == -1) _exit(111);
+  ut.actime = ut.modtime = u;
+  if (utime(fn,&ut) == -1) _exit(111);
   _exit(0);
 }
--- a/hier.c
+++ b/hier.c
@@ -1,8 +1,8 @@
 #include "auto_home.h"
 
-void h(char *home, int uid, int gid, int mode);
-void d(char *home, char *subdir, int uid, int gid, int mode);
-void c(char *home, char *subdir, char *file, int uid, int gid, int mode);
+void h(const char *home, int uid, int gid, int mode);
+void d(const char *home, const char *subdir, int uid, int gid, int mode);
+void c(const char *home, const char *subdir, const char *file, int uid, int gid, int mode);
 
 void hier()
 {
--- a/tinydns-data.c
+++ b/tinydns-data.c
@@ -251,19 +251,19 @@ int main()
 	if (!dns_domain_fromdot(&d1,f[0].s,f[0].len)) nomem();
 
 	if (!stralloc_0(&f[3])) nomem();
-	if (!scan_ulong(f[3].s,&u)) uint32_unpack_big(defaultsoa,&u);
+	if (!scan_ulong(f[3].s,&u)) uint32_unpack_big_ul(defaultsoa,&u);
 	uint32_pack_big(soa,u);
 	if (!stralloc_0(&f[4])) nomem();
-	if (!scan_ulong(f[4].s,&u)) uint32_unpack_big(defaultsoa + 4,&u);
+	if (!scan_ulong(f[4].s,&u)) uint32_unpack_big_ul(defaultsoa + 4,&u);
 	uint32_pack_big(soa + 4,u);
 	if (!stralloc_0(&f[5])) nomem();
-	if (!scan_ulong(f[5].s,&u)) uint32_unpack_big(defaultsoa + 8,&u);
+	if (!scan_ulong(f[5].s,&u)) uint32_unpack_big_ul(defaultsoa + 8,&u);
 	uint32_pack_big(soa + 8,u);
 	if (!stralloc_0(&f[6])) nomem();
-	if (!scan_ulong(f[6].s,&u)) uint32_unpack_big(defaultsoa + 12,&u);
+	if (!scan_ulong(f[6].s,&u)) uint32_unpack_big_ul(defaultsoa + 12,&u);
 	uint32_pack_big(soa + 12,u);
 	if (!stralloc_0(&f[7])) nomem();
-	if (!scan_ulong(f[7].s,&u)) uint32_unpack_big(defaultsoa + 16,&u);
+	if (!scan_ulong(f[7].s,&u)) uint32_unpack_big_ul(defaultsoa + 16,&u);
 	uint32_pack_big(soa + 16,u);
 
 	if (!stralloc_0(&f[8])) nomem();
--- a/uint32.h1
+++ b/uint32.h1
@@ -7,5 +7,6 @@ extern void uint32_pack(char *,uint32);
 extern void uint32_pack_big(char *,uint32);
 extern void uint32_unpack(const char *,uint32 *);
 extern void uint32_unpack_big(const char *,uint32 *);
+extern void uint32_unpack_big_ul(const char *, unsigned long *);
 
 #endif
--- a/uint32.h2
+++ b/uint32.h2
@@ -7,5 +7,6 @@ extern void uint32_pack(char *,uint32);
 extern void uint32_pack_big(char *,uint32);
 extern void uint32_unpack(const char *,uint32 *);
 extern void uint32_unpack_big(const char *,uint32 *);
+extern void uint32_unpack_big_ul(const char *, unsigned long *);
 
 #endif
--- a/uint32_unpack.c
+++ b/uint32_unpack.c
@@ -29,3 +29,11 @@ void uint32_unpack_big(const char s[4],u
 
   *u = result;
 }
+
+void uint32_unpack_big_ul(const char s[4], unsigned long *u)
+{
+  uint32 result;
+  uint32_unpack_big(s, &result);
+
+  *u = result;
+}
