if (*entriesp > arrayEntries.bulkentries_len)
*entriesp = arrayEntries.bulkentries_len;
- blkentriesp->nbulkentries_val =
- malloc(*entriesp * sizeof(*blkentriesp));
- if (blkentriesp->nbulkentries_val != NULL) {
- for (i = 0; i < *entriesp; i++) {
- OldVLDB_to_NewVLDB((struct vldbentry *)&arrayEntries.
- bulkentries_val[i],
- (struct nvldbentry *)&blkentriesp->
- nbulkentries_val[i], &tst);
+ if (*entriesp > 0) {
+ blkentriesp->nbulkentries_val =
+ calloc(*entriesp, sizeof(struct nvldbentry));
+ if (blkentriesp->nbulkentries_val != NULL) {
+ for (i = 0; i < *entriesp; i++) {
+ OldVLDB_to_NewVLDB((struct vldbentry *)&arrayEntries.
+ bulkentries_val[i],
+ (struct nvldbentry *)&blkentriesp->
+ nbulkentries_val[i], &tst);
+ }
+ } else {
+ tst = ADMNOMEM;
}
} else {
- tst = ADMNOMEM;
- }
- if (arrayEntries.bulkentries_val) {
- free(arrayEntries.bulkentries_val);
+ blkentriesp->nbulkentries_val = NULL;
}
+ xdr_free((xdrproc_t)xdr_bulkentries, &arrayEntries);
+
rc = 1;
}
}
if (volid == rentry->volumeId[ROVOL]) {
*voltype = ROVOL;
for (i = 0; i < rentry->nServers; i++) {
- if ((index == -1) && (rentry->serverFlags[i] & ITSROVOL)
- && !(rentry->serverFlags[i] & RO_DONTUSE))
+ if ((index == -1) && (rentry->serverFlags[i] & VLSF_ROVOL)
+ && !(rentry->serverFlags[i] & VLSF_DONTUSE))
index = i;
}
if (index == -1) {