- switch (ctxt->ctxt_type) {
- case ELT_SUB_REPO:
- source_add_description(ctxt, desc); break;
- default:
- UNEXPECTED_CONTEXT(ctxt->ctxt_type);
+ if (! desc->call_number) {
+ MEMORY_ERROR;
+ free(desc);
+ }
+ else {
+ switch (ctxt->ctxt_type) {
+ case ELT_SUB_REPO:
+ source_add_description(ctxt, desc); break;
+ default:
+ UNEXPECTED_CONTEXT(ctxt->ctxt_type);
+ }
+ result = MAKE_GOM_CTXT(elt, source_description, desc);
+ }