prot.c
changeset 0 068428edee47
equal deleted inserted replaced
-1:000000000000 0:068428edee47
       
     1 #include "hasshsgr.h"
       
     2 #include "prot.h"
       
     3 
       
     4 /* XXX: there are more portability problems here waiting to leap out at me */
       
     5 
       
     6 int prot_gid(gid) int 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 
       
    18 int prot_uid(uid) int uid;
       
    19 {
       
    20   return setuid(uid);
       
    21 }