http://ftp.ksu.edu.tw/FTP/FreeBSD/distfiles/xscreensaver-4.24.tar.gz
[xscreensaver] / driver / test-uid.c
index dd4893e8de071f64d6ecc259b68a3d4b0a72f4f5..b4db41dd467769f1db8422f95ebea251d13706b8 100644 (file)
@@ -37,7 +37,7 @@ print(void)
   struct passwd *p = 0;
   struct group *g = 0;
   gid_t groups[1024];
-  int n;
+  int n, size;
 
   p = getpwuid (uid);
   g = getgrgid (gid);
@@ -51,7 +51,8 @@ print(void)
          (p && p->pw_name ? p->pw_name : "???"),
          (g && g->gr_name ? g->gr_name : "???"));
 
-  n = getgroups(sizeof(groups)-1, groups);
+  size = sizeof(groups) / sizeof(gid_t)
+  n = getgroups(size - 1, groups);
   if (n < 0)
     perror("getgroups failed");
   else
@@ -63,7 +64,7 @@ print(void)
           g = getgrgid (groups[i]);
           fprintf(stderr, "%s%s=%ld", (i == 0 ? "" : ", "),
                   (g->gr_name ? g->gr_name : "???"),
-                  groups[i]);
+                  (long) groups[i]);
         }
       fprintf (stderr, "]\n");
     }