#include "utils.h" /** * getgrnam_ext - first calls getgrnam, and if this call doesn't return * anything, then it checks if the name is actually a group id by calling getgrgid * * @param grp_name (I) - a string containing either the group's name or id * @return a pointer to the group, or NULL if the string represents neither * a valid group name nor a valid group id, or is NULL itself. **/ struct group * getgrnam_ext( char * grp_name ) /* I */ { struct group * grp; /* bad argument check */ if (grp_name == NULL) return NULL; grp = getgrnam( grp_name ); /* if the group wasn't found by name, check if the name */ /* was the group's id */ if (grp == NULL) { if (isdigit(grp_name[0])) grp = getgrgid(atoi(grp_name)); } return grp; }