diff options
-rw-r--r-- | rainbow/nss/gids.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/rainbow/nss/gids.c b/rainbow/nss/gids.c index a374dbe..81d7d69 100644 --- a/rainbow/nss/gids.c +++ b/rainbow/nss/gids.c @@ -18,8 +18,10 @@ int main() { printf("status: %d\n", i); break; } - printf("\n%d: %s (%d)\n", cnt, grp->gr_name, grp->gr_gid); - int num_members = strlen((char*)grp->gr_mem) / sizeof(char*); + int num_members = 0; + char** mem_ptr = grp->gr_mem; + while (mem_ptr && *mem_ptr) {num_members++; mem_ptr++;} + printf("\ncnt %d: name %s gid (%d) : num_members %d\n", cnt, grp->gr_name, grp->gr_gid, num_members); for (i = 0; i < num_members; i++) printf("%s ", grp->gr_mem[i]); if (num_members) printf("\n"); |