int xf86removeVendor(XF86ConfigPtr config, XF86ConfVendorPtr vendor) { XF86ConfVendorPtr prev; if (config == NULL || vendor == NULL) return (False); if ((prev = config->conf_vendor_lst) == vendor) config->conf_vendor_lst = (XF86ConfVendorPtr)(config->conf_vendor_lst->list.next); else { while (prev && (XF86ConfVendorPtr)(prev->list.next) != vendor) prev = (XF86ConfVendorPtr)(prev->list.next); if (prev == NULL) return (False); prev->list.next = vendor->list.next; } xf86optionListFree(vendor->vnd_option_lst); xf86freeVendorSubList(vendor->vnd_sub_lst); XtFree(vendor->vnd_identifier); XtFree((XtPointer)vendor); return (True); }
void xf86freeVendorList (XF86ConfVendorPtr p) { if (p == NULL) return; xf86freeVendorSubList (p->vnd_sub_lst); TestFree (p->vnd_identifier); TestFree (p->vnd_comment); xf86optionListFree (p->vnd_option_lst); free (p); }