Exemplo n.º 1
0
afs_int32
pr_ListEntries(int flag, afs_int32 startindex, afs_int32 *nentries, struct prlistentries **entries, afs_int32 *nextstartindex)
{
    afs_int32 code;
    int i;
    prentries bulkentries;

    *nentries = 0;
    *entries = NULL;
    *nextstartindex = -1;
    bulkentries.prentries_val = 0;
    bulkentries.prentries_len = 0;

    code =
	ubik_PR_ListEntries(pruclient, 0, flag, startindex,
		  &bulkentries, nextstartindex);
    if (code)
	return code;
    for (i = 0; i < bulkentries.prentries_len; i++) {
	/* XXX should we try to return all the other entries? */
	code = check_length(bulkentries.prentries_val[i].name);
	if (code)
	    goto out;
    }

out:
    if (code != 0) {
	xdr_free((xdrproc_t)xdr_prentries, &bulkentries);
    } else {
	*nentries = bulkentries.prentries_len;
	*entries = bulkentries.prentries_val;
    }
    return code;
}
Exemplo n.º 2
0
afs_int32
pr_ListEntries(int flag, afs_int32 startindex, afs_int32 *nentries, struct prlistentries **entries, afs_int32 *nextstartindex)
{
    afs_int32 code;
    prentries bulkentries;

    *nentries = 0;
    *entries = NULL;
    *nextstartindex = -1;
    bulkentries.prentries_val = 0;
    bulkentries.prentries_len = 0;

    code =
	ubik_PR_ListEntries(pruclient, 0, flag, startindex,
		  &bulkentries, nextstartindex);
    *nentries = bulkentries.prentries_len;
    *entries = bulkentries.prentries_val;
    return code;
}