diff options
Diffstat (limited to 'do/ggrent')
-rw-r--r-- | do/ggrent | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/do/ggrent b/do/ggrent deleted file mode 100644 index bf4a918e47..0000000000 --- a/do/ggrent +++ /dev/null @@ -1,61 +0,0 @@ -int -do_ggrent(which,gimme,arglast) -int which; -int gimme; -int *arglast; -{ -#ifdef I_GRP - register ARRAY *ary = stack; - register int sp = arglast[0]; - register char **elem; - register STR *TARG; - struct group *getgrnam(); - struct group *getgrgid(); - struct group *getgrent(); - struct group *grent; - - if (which == O_GGRNAM) { - char *name = str_get(ary->ary_array[sp+1]); - - grent = getgrnam(name); - } - else if (which == O_GGRGID) { - int gid = (int)str_gnum(ary->ary_array[sp+1]); - - grent = getgrgid(gid); - } - else - grent = getgrent(); - - if (gimme != G_ARRAY) { - astore(ary, ++sp, TARG = str_mortal(&str_undef)); - if (grent) { - if (which == O_GGRNAM) - str_numset(TARG, (double)grent->gr_gid); - else - str_set(TARG, grent->gr_name); - } - return sp; - } - - if (grent) { - (void)astore(ary, ++sp, TARG = str_mortal(&str_no)); - str_set(TARG, grent->gr_name); - (void)astore(ary, ++sp, TARG = str_mortal(&str_no)); - str_set(TARG, grent->gr_passwd); - (void)astore(ary, ++sp, TARG = str_mortal(&str_no)); - str_numset(TARG, (double)grent->gr_gid); - (void)astore(ary, ++sp, TARG = str_mortal(&str_no)); - for (elem = grent->gr_mem; *elem; elem++) { - str_cat(TARG, *elem); - if (elem[1]) - str_ncat(TARG," ",1); - } - } - - return sp; -#else - fatal("group routines not implemented"); -#endif -} - |