+ case CONFTYPE_IDENTLIST: {
+ AV *ilist = newAV();
+
+ identlist_t il;
+ for (il=val_t__identlist(result); il != NULL; il = il->next) {
+ av_push(ilist, newSVpv((char *)il->data, 0));
+ }
+
+ ST(argvi) = sv_2mortal(newRV_noinc((SV *)ilist));
+ argvi++;
+ break;
+ }
+
+ case CONFTYPE_AUTOLABEL: {
+ autolabel_t *autolabel = &val_t__autolabel(result);
+ HV *hv;
+
+ /* now build the hash */
+ hv = (HV *)sv_2mortal((SV *)newHV());
+ hv_store(hv, "template", 8,
+ (autolabel->template)? newSVpv(autolabel->template, 0) : newSV(0),
+ 0);
+ hv_store(hv, "other_config", 12,
+ (autolabel->autolabel & AL_OTHER_CONFIG)? &PL_sv_yes : &PL_sv_no,
+ 0);
+ hv_store(hv, "non_amanda", 10,
+ (autolabel->autolabel & AL_NON_AMANDA)? &PL_sv_yes : &PL_sv_no,
+ 0);
+ hv_store(hv, "volume_error", 12,
+ (autolabel->autolabel & AL_VOLUME_ERROR)? &PL_sv_yes : &PL_sv_no,
+ 0);
+ hv_store(hv, "empty", 5,
+ (autolabel->autolabel & AL_EMPTY)? &PL_sv_yes : &PL_sv_no,
+ 0);
+
+ ST(argvi) = sv_2mortal(newRV((SV *)hv));
+ argvi++;
+ break;
+ }
+