1 /* Public domain. */
2 
3 #include "hasshsgr.h"
4 #include "prot.h"
5 
prot_gid(gid_t gid)6 int prot_gid(gid_t gid)
7 {
8 #ifdef HASSHORTSETGROUPS
9   short x[2];
10   x[0] = gid; x[1] = 73; /* catch errors */
11   if (setgroups(1,x) == -1) return -1;
12 #else
13   if (setgroups(1,&gid) == -1) return -1;
14 #endif
15   return setgid(gid); /* _should_ be redundant, but on some systems it isn't */
16 }
17 
prot_uid(uid_t uid)18 int prot_uid(uid_t uid)
19 {
20   return setuid(uid);
21 }
22