static void nss_test_initgroups(char *name, gid_t gid) { long int size = 16; long int start = 1; gid_t *groups = NULL; int i; NSS_STATUS status; groups = SMB_MALLOC_ARRAY(gid_t, size); groups[0] = gid; status = nss_initgroups(name, gid, &groups, &start, &size); if (status == NSS_STATUS_UNAVAIL) { printf("No initgroups fn\n"); return; } for (i=0; i<start-1; i++) { printf("%lu, ", (unsigned long)groups[i]); } printf("%lu\n", (unsigned long)groups[i]); }
static void nss_test_initgroups(char *name, gid_t gid) { long int size = 16; long int start = 1; gid_t *groups = NULL; int i; NSS_STATUS status; groups = (gid_t *)malloc(size * sizeof(gid_t)); groups[0] = gid; status = nss_initgroups(name, gid, &groups, &start, &size); if (status == NSS_STATUS_UNAVAIL) { printf("No initgroups fn\n"); return; } for (i=0; i<start-1; i++) { printf("%d, ", groups[i]); } printf("%d\n", groups[i]); }