idlist lids;
lnames.namelist_len = 2;
- lnames.namelist_val = (prname *) xdr_alloc(2 * PR_MAXNAMELEN);
+ lnames.namelist_val = malloc(2 * PR_MAXNAMELEN);
strncpy(lnames.namelist_val[0], user, PR_MAXNAMELEN);
strncpy(lnames.namelist_val[1], group, PR_MAXNAMELEN);
lids.idlist_val = 0;
lids.idlist_val[1]);
done:
if (lnames.namelist_val)
- xdr_free(lnames.namelist_val, 2 * PR_MAXNAMELEN);
- if (lids.idlist_val)
- xdr_free(lids.idlist_val, lids.idlist_len * sizeof(lids.idlist_val[0]));
+ free(lnames.namelist_val);
+
+ xdr_free((xdrproc_t) xdr_idlist, &lids);
return code;
}
idlist lids;
lnames.namelist_len = 2;
- lnames.namelist_val = (prname *) xdr_alloc(2 * PR_MAXNAMELEN);
+ lnames.namelist_val = malloc(2 * PR_MAXNAMELEN);
strncpy(lnames.namelist_val[0], user, PR_MAXNAMELEN);
strncpy(lnames.namelist_val[1], group, PR_MAXNAMELEN);
lids.idlist_val = 0;
lids.idlist_val[1]);
done:
if (lnames.namelist_val)
- xdr_free(lnames.namelist_val, 2 * PR_MAXNAMELEN);
- if (lids.idlist_val)
- xdr_free(lids.idlist_val, lids.idlist_len * sizeof(lids.idlist_val[0]));
- return code;
+ free(lnames.namelist_val);
+
+ xdr_free((xdrproc_t) xdr_idlist, &lids);
+ return code;
}
int
lids.idlist_len = 0;
lids.idlist_val = 0;
lnames.namelist_len = 1;
- lnames.namelist_val = (prname *) xdr_alloc(PR_MAXNAMELEN);
+ lnames.namelist_val = malloc(PR_MAXNAMELEN);
stolower(name);
strncpy(lnames.namelist_val[0], name, PR_MAXNAMELEN);
code = ubik_PR_NameToID(pruclient, 0, &lnames, &lids);
if (lids.idlist_val) {
*id = *lids.idlist_val;
- xdr_free(lids.idlist_val, lids.idlist_len * sizeof(lids.idlist_val[0]));
+ xdr_free((xdrproc_t) xdr_idlist, &lids);
}
if (lnames.namelist_val)
- xdr_free(lnames.namelist_val, PR_MAXNAMELEN);
+ free(lnames.namelist_val);
return code;
}
register afs_int32 code;
lids.idlist_len = 1;
- lids.idlist_val = (afs_int32 *) xdr_alloc(sizeof(afs_int32));
+ lids.idlist_val = malloc(sizeof(afs_int32));
*lids.idlist_val = id;
lnames.namelist_len = 0;
lnames.namelist_val = 0;
code = ubik_PR_IDToName(pruclient, 0, &lids, &lnames);
- if (lnames.namelist_val) {
+
+ if (lnames.namelist_val)
strncpy(name, lnames.namelist_val[0], PR_MAXNAMELEN);
- xdr_free(lnames.namelist_val, PR_MAXNAMELEN);
- }
+
if (lids.idlist_val)
- xdr_free(lids.idlist_val, lids.idlist_len * sizeof(lids.idlist_val[0]));
+ free(lids.idlist_val);
+
+ xdr_free((xdrproc_t) xdr_namelist, &lnames);
+
return code;
}
oid);
*moreP = 0;
}
- lids = (idlist *) & alist;
+ lids = (idlist *) &alist;
code = pr_IdToName(lids, lnames);
+
+ xdr_free((xdrproc_t) xdr_prlist, &alist);
+
if (code)
return code;
- if (alist.prlist_val)
- xdr_free(alist.prlist_val, alist.prlist_len * sizeof(alist.prlist_val[0]));
+
return PRSUCCESS;
}
fprintf(stderr, "membership list for id %d exceeds display limit\n",
gid);
}
- lids = (idlist *) & alist;
+ lids = (idlist *) &alist;
code = pr_IdToName(lids, lnames);
+
+ xdr_free((xdrproc_t) xdr_prlist, &alist);
+
if (code)
return code;
- if (alist.prlist_val)
- xdr_free(alist.prlist_val, alist.prlist_len * sizeof(alist.prlist_val[0]));
return PRSUCCESS;
}
stolower(uname);
stolower(gname);
lnames.namelist_len = 2;
- lnames.namelist_val = (prname *) xdr_alloc(2 * PR_MAXNAMELEN);
+ lnames.namelist_val = malloc(2 * PR_MAXNAMELEN);
strncpy(lnames.namelist_val[0], uname, PR_MAXNAMELEN);
strncpy(lnames.namelist_val[1], gname, PR_MAXNAMELEN);
lids.idlist_val = 0;
code = pr_NameToId(&lnames, &lids);
if (code) {
if (lnames.namelist_val)
- xdr_free(lnames.namelist_val, 2 * PR_MAXNAMELEN);
- if (lids.idlist_val)
- xdr_free(lids.idlist_val, lids.idlist_len * sizeof(lids.idlist_val[0]));
+ free(lnames.namelist_val);
+ xdr_free((xdrproc_t) xdr_idlist, &lids);
return code;
}
code =
ubik_PR_IsAMemberOf(pruclient, 0, lids.idlist_val[0],
lids.idlist_val[1], flag);
if (lnames.namelist_val)
- xdr_free(lnames.namelist_val, 2 * PR_MAXNAMELEN);
- if (lids.idlist_val)
- xdr_free(lids.idlist_val, lids.idlist_len * sizeof(lids.idlist_val[0]));
+ free(lnames.namelist_val);
+ xdr_free((xdrproc_t) xdr_idlist, &lids);
return code;
}