int xf86removeScreenDisplay(XF86ConfScreenPtr scrn, XF86ConfDisplayPtr display) { XF86ConfDisplayPtr dsp, prev; if (scrn == NULL || display == NULL || scrn->scrn_display_lst == NULL) return (False); for (dsp = prev = scrn->scrn_display_lst; dsp != NULL; prev = dsp, dsp = (XF86ConfDisplayPtr)(dsp->list.next)) if (dsp == display) { if (prev == dsp) scrn->scrn_display_lst = (XF86ConfDisplayPtr)(dsp->list.next); else prev->list.next = dsp->list.next; xf86optionListFree(display->disp_option_lst); XtFree((XtPointer)display->disp_visual); xf86freeModeList(display->disp_mode_lst); XtFree((XtPointer)display); return (True); } return (False); }
int xf86removeVendorSub(XF86ConfVendorPtr vendor, XF86ConfVendSubPtr sub) { XF86ConfVendSubPtr prev; if (vendor == NULL || sub == NULL) return (False); if ((prev = vendor->vnd_sub_lst) == sub) vendor->vnd_sub_lst = (XF86ConfVendSubPtr)(vendor->vnd_sub_lst->list.next); else { while (prev && (XF86ConfVendSubPtr)(prev->list.next) != sub) prev = (XF86ConfVendSubPtr)(prev->list.next); if (prev == NULL) return (False); prev->list.next = sub->list.next; } xf86optionListFree(sub->vs_option_lst); XtFree(sub->vs_name); XtFree(sub->vs_identifier); XtFree((XtPointer)sub); return (True); }
int xf86removeInputRef(XF86ConfLayoutPtr layout, XF86ConfInputPtr input) { XF86ConfInputrefPtr prev, iref = layout->lay_input_lst; prev = iref; while (iref != NULL) { if (iref->iref_inputdev == input) { XtFree(iref->iref_inputdev_str); xf86optionListFree(iref->iref_option_lst); if (prev == iref) layout->lay_input_lst = (XF86ConfInputrefPtr)(iref->list.next); else prev->list.next = iref->list.next; XtFree((XtPointer)iref); return (True); } prev = iref; iref = (XF86ConfInputrefPtr)(iref->list.next); } return (False); }
int xf86removeModule(XF86ConfigPtr config, XF86LoadPtr load) { XF86LoadPtr prev, mod; if (config == NULL || config->conf_modules == NULL || config->conf_modules->mod_load_lst == NULL) return (False); for (mod = prev = config->conf_modules->mod_load_lst; mod != NULL; prev = mod, mod = (XF86LoadPtr)(mod->list.next)) if (load == mod) { if (mod == prev) config->conf_modules->mod_load_lst = (XF86LoadPtr)(mod->list.next); else prev->list.next = mod->list.next; XtFree(mod->load_name); xf86optionListFree(mod->load_opt); return (True); } return (False); }
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 xf86freeExtensions(XF86ConfExtensionsPtr ptr) { if (ptr == NULL) return; xf86optionListFree(ptr->ext_option_lst); TestFree(ptr->extensions_comment); free(ptr); }
int xf86removeLayout(XF86ConfigPtr config, XF86ConfLayoutPtr layout) { XF86ConfLayoutPtr prev, lay = config->conf_layout_lst; XF86ConfAdjacencyPtr adj, nadj; XF86ConfInactivePtr inac, ninac; XF86ConfInputrefPtr iref, niref; if (config == NULL || layout == NULL) return (False); prev = lay; while (lay != NULL) { if (lay == layout) break; prev = lay; lay = (XF86ConfLayoutPtr)(lay->list.next); } if (lay == NULL) return (False); adj = lay->lay_adjacency_lst; while (adj != NULL) { nadj = (XF86ConfAdjacencyPtr)(adj->list.next); xf86removeAdjacency(lay, adj); adj = nadj; } inac = lay->lay_inactive_lst; while (inac != NULL) { ninac = (XF86ConfInactivePtr)(inac->list.next); xf86removeInactive(lay, inac); inac = ninac; } iref = lay->lay_input_lst; while (iref != NULL) { niref = (XF86ConfInputrefPtr)(iref->list.next); xf86removeInputRef(lay, iref->iref_inputdev); iref = niref; } xf86optionListFree(lay->lay_option_lst); if (prev == lay) config->conf_layout_lst = (XF86ConfLayoutPtr)(lay->list.next); else prev->list.next = lay->list.next; XtFree(lay->lay_identifier); XtFree((XtPointer)lay); 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); }
int xf86removeDevice(XF86ConfigPtr config, XF86ConfDevicePtr device) { XF86ConfDevicePtr prev, dev = config->conf_device_lst; XF86ConfScreenPtr psc, scr = config->conf_screen_lst; /* remove from main structure */ prev = dev; while (dev != NULL) { if (dev == device) { if (dev == prev) config->conf_device_lst = (XF86ConfDevicePtr)(dev->list.next); else prev->list.next = dev->list.next; break; } prev = dev; dev = (XF86ConfDevicePtr)(dev->list.next); } if (dev == NULL) return (False); /* remove references */ psc = scr; while (scr != NULL) { if (scr->scrn_device == device) { xf86removeScreen(config, scr); if (scr == psc) scr = psc = config->conf_screen_lst; else scr = psc; continue; } psc = scr; scr = (XF86ConfScreenPtr)(scr->list.next); } XtFree(dev->dev_identifier); XtFree(dev->dev_vendor); XtFree(dev->dev_board); XtFree(dev->dev_chipset); XtFree(dev->dev_busid); XtFree(dev->dev_card); XtFree(dev->dev_driver); XtFree(dev->dev_ramdac); XtFree(dev->dev_clockchip); XtFree(dev->dev_comment); xf86optionListFree(dev->dev_option_lst); XtFree((XtPointer)dev); return (True); }
void xf86freeDisplayList(XF86ConfDisplayPtr ptr) { XF86ConfDisplayPtr prev; while (ptr) { xf86freeModeList(ptr->disp_mode_lst); xf86optionListFree(ptr->disp_option_lst); prev = ptr; ptr = ptr->list.next; free(prev); } }
static void xf86freeInputrefList(XF86ConfInputrefPtr ptr) { XF86ConfInputrefPtr prev; while (ptr) { TestFree(ptr->iref_inputdev_str); xf86optionListFree(ptr->iref_option_lst); prev = ptr; ptr = ptr->list.next; free(prev); } }
void xf86freeVideoPortList (XF86ConfVideoPortPtr ptr) { XF86ConfVideoPortPtr prev; while (ptr) { TestFree (ptr->vp_identifier); TestFree (ptr->vp_comment); xf86optionListFree (ptr->vp_option_lst); prev = ptr; ptr = ptr->list.next; xf86conffree (prev); } }
static void xf86freeVendorSubList(XF86ConfVendSubPtr ptr) { XF86ConfVendSubPtr prev; while (ptr) { TestFree(ptr->vs_identifier); TestFree(ptr->vs_name); TestFree(ptr->vs_comment); xf86optionListFree(ptr->vs_option_lst); prev = ptr; ptr = ptr->list.next; free(prev); } }
void xf86freeModesList (XF86ConfModesPtr ptr) { XF86ConfModesPtr prev; while (ptr) { TestFree (ptr->modes_identifier); TestFree (ptr->modes_comment); xf86freeModeLineList (ptr->mon_modeline_lst); xf86optionListFree (ptr->modes_option_lst); prev = ptr; ptr = ptr->list.next; xf86conffree (prev); } }
void xf86freeInputList(XF86ConfInputPtr ptr) { XF86ConfInputPtr prev; while (ptr) { TestFree(ptr->inp_identifier); TestFree(ptr->inp_driver); TestFree(ptr->inp_comment); xf86optionListFree(ptr->inp_option_lst); prev = ptr; ptr = ptr->list.next; free(prev); } }
int xf86removeMonitor(XF86ConfigPtr config, XF86ConfMonitorPtr monitor) { XF86ConfMonitorPtr prev, mon = config->conf_monitor_lst; XF86ConfScreenPtr psc, scr = config->conf_screen_lst; /* remove from main structure */ prev = mon; while (mon != NULL) { if (mon == monitor) { if (mon == prev) config->conf_monitor_lst = (XF86ConfMonitorPtr)(mon->list.next); else prev->list.next = mon->list.next; break; } prev = mon; mon = (XF86ConfMonitorPtr)(mon->list.next); } if (mon == NULL) return (False); /* remove references */ psc = scr; while (scr != NULL) { if (scr->scrn_monitor == monitor) { xf86removeScreen(config, scr); if (scr == psc) scr = psc = config->conf_screen_lst; else scr = psc; continue; } psc = scr; scr = (XF86ConfScreenPtr)(scr->list.next); } XtFree(mon->mon_identifier); XtFree(mon->mon_vendor); XtFree(mon->mon_modelname); XtFree(mon->mon_comment); xf86optionListFree(mon->mon_option_lst); XtFree((XtPointer)mon); return (True); }
void xf86freeScreenList(XF86ConfScreenPtr ptr) { XF86ConfScreenPtr prev; while (ptr) { TestFree(ptr->scrn_identifier); TestFree(ptr->scrn_monitor_str); TestFree(ptr->scrn_device_str); TestFree(ptr->scrn_comment); xf86optionListFree(ptr->scrn_option_lst); xf86freeAdaptorLinkList(ptr->scrn_adaptor_lst); xf86freeDisplayList(ptr->scrn_display_lst); prev = ptr; ptr = ptr->list.next; free(prev); } }
void xf86freeFilesList (XF86ConfFilesPtr ptr) { XF86ConfFilesPtr prev; while (ptr) { TestFree (ptr->file_logfile); TestFree (ptr->file_rgbpath); TestFree (ptr->file_modulepath); TestFree (ptr->file_inputdevs); TestFree (ptr->file_fontpath); TestFree (ptr->file_comment); TestFree (ptr->file_identifier); xf86optionListFree (ptr->file_option_lst); prev = ptr; ptr = ptr->list.next; xf86conffree(prev); } }
void xf86freeVideoAdaptorList (XF86ConfVideoAdaptorPtr ptr) { XF86ConfVideoAdaptorPtr prev; while (ptr) { TestFree (ptr->va_identifier); TestFree (ptr->va_vendor); TestFree (ptr->va_board); TestFree (ptr->va_busid); TestFree (ptr->va_driver); TestFree (ptr->va_fwdref); TestFree (ptr->va_comment); xf86freeVideoPortList (ptr->va_port_lst); xf86optionListFree (ptr->va_option_lst); prev = ptr; ptr = ptr->list.next; xf86conffree (prev); } }
void xf86freeDeviceList(XF86ConfDevicePtr ptr) { XF86ConfDevicePtr prev; while (ptr) { TestFree(ptr->dev_identifier); TestFree(ptr->dev_vendor); TestFree(ptr->dev_board); TestFree(ptr->dev_chipset); TestFree(ptr->dev_card); TestFree(ptr->dev_driver); TestFree(ptr->dev_ramdac); TestFree(ptr->dev_clockchip); TestFree(ptr->dev_comment); xf86optionListFree(ptr->dev_option_lst); prev = ptr; ptr = ptr->list.next; free(prev); } }
int xf86removeVideoPort(XF86ConfVideoAdaptorPtr va, XF86ConfVideoPortPtr vp) { XF86ConfVideoPortPtr prev; if (va == NULL || vp == NULL) return (False); if ((prev = va->va_port_lst) == vp) va->va_port_lst = (XF86ConfVideoPortPtr)(va->va_port_lst->list.next); else { while (prev && (XF86ConfVideoPortPtr)(prev->list.next) != vp) prev = (XF86ConfVideoPortPtr)(prev->list.next); if (prev == NULL) return (False); prev->list.next = vp->list.next; } xf86optionListFree(vp->vp_option_lst); XtFree((XtPointer)vp); return (True); }
int xf86removeInput(XF86ConfigPtr config, XF86ConfInputPtr input) { XF86ConfInputPtr prev, inp = config->conf_input_lst; XF86ConfLayoutPtr lay = config->conf_layout_lst; /* remove from main structure */ prev = inp; while (inp != NULL) { if (inp == input) { if (inp == prev) config->conf_input_lst = (XF86ConfInputPtr)(inp->list.next); else prev->list.next = inp->list.next; break; } prev = inp; inp = (XF86ConfInputPtr)(inp->list.next); } if (inp == NULL) return (False); /* remove references */ while (lay != NULL) { xf86removeInputRef(lay, inp); lay = (XF86ConfLayoutPtr)(lay->list.next); } XtFree(inp->inp_identifier); XtFree(inp->inp_driver); XtFree(inp->inp_comment); xf86optionListFree(inp->inp_option_lst); XtFree((XtPointer)inp); return (True); }
int xf86removeVideoAdaptor(XF86ConfigPtr config, XF86ConfVideoAdaptorPtr video) { XF86ConfVideoAdaptorPtr vid; XF86ConfScreenPtr scrn; XF86ConfVideoPortPtr vp, next; if (config == NULL || video == NULL) return (False); /* check if video is in config and update videoadaptor list */ if ((vid = config->conf_videoadaptor_lst) == video) config->conf_videoadaptor_lst = (XF86ConfVideoAdaptorPtr)(vid->list.next); else for (; vid != NULL; vid = (XF86ConfVideoAdaptorPtr)(vid->list.next)) if ((XF86ConfVideoAdaptorPtr)(vid->list.next) == video) { vid->list.next = video->list.next; break; } if (vid == NULL) return (False); /* remove references in screen sections */ scrn = config->conf_screen_lst; while (scrn) { XF86ConfAdaptorLinkPtr v, p; v = p = scrn->scrn_adaptor_lst; while (v) { if (v->al_adaptor == video) { XtFree(v->al_adaptor_str); if (v == scrn->scrn_adaptor_lst) p = scrn->scrn_adaptor_lst = (XF86ConfAdaptorLinkPtr)(v->list.next); else { p->list.next = v->list.next; p = p->list.next; } XtFree((XtPointer)v); v = p; continue; } p = v; v = (XF86ConfAdaptorLinkPtr)(v->list.next); } scrn = (XF86ConfScreenPtr)(scrn->list.next); } /* free videoports */ vp = video->va_port_lst; while (vp) { next = (XF86ConfVideoPortPtr)(vp->list.next); XtFree(vp->vp_identifier); xf86optionListFree(vp->vp_option_lst); XtFree((XtPointer)vp); vp = next; } /* free videoadaptor */ XtFree(video->va_identifier); XtFree(video->va_vendor); XtFree(video->va_board); XtFree(video->va_busid); XtFree(video->va_driver); XtFree(video->va_fwdref); xf86optionListFree(video->va_option_lst); XtFree((XtPointer)video); return (True); }
int xf86removeScreen(XF86ConfigPtr config, XF86ConfScreenPtr screen) { XF86ConfScreenPtr prev, scrn; XF86ConfLayoutPtr lay; if (config == NULL || screen == NULL) return (False); lay = config->conf_layout_lst; prev = scrn = config->conf_screen_lst; while (scrn != NULL) { if (scrn == screen) { if (scrn == prev) config->conf_screen_lst = (XF86ConfScreenPtr)(scrn->list.next); else prev->list.next = scrn->list.next; break; } prev = scrn; scrn = (XF86ConfScreenPtr)(scrn->list.next); } if (scrn == NULL) return (False); while (lay != NULL) { XF86ConfAdjacencyPtr pad, ad = NULL, adj = lay->lay_adjacency_lst; pad = adj; while (adj) { if (adj->adj_screen == screen) ad = adj; else { if (adj->adj_top != NULL && adj->adj_top == screen) { XtFree(adj->adj_top_str); adj->adj_top_str = NULL; adj->adj_top = NULL; } else if (adj->adj_bottom != NULL && adj->adj_bottom == screen) { XtFree(adj->adj_bottom_str); adj->adj_bottom_str = NULL; adj->adj_bottom = NULL; } else if (adj->adj_left != NULL && adj->adj_left == screen) { XtFree(adj->adj_left_str); adj->adj_left_str = NULL; adj->adj_left = NULL; } else if (adj->adj_right != NULL && adj->adj_right == screen) { XtFree(adj->adj_right_str); adj->adj_right_str = NULL; adj->adj_right = NULL; } else if (adj->adj_refscreen != NULL && strcasecmp(scrn->scrn_identifier, adj->adj_refscreen) == 0) { XtFree(adj->adj_refscreen); adj->adj_refscreen = NULL; adj->adj_where = CONF_ADJ_ABSOLUTE; adj->adj_x = adj->adj_y = 0; } } if (ad == NULL) pad = adj; adj = (XF86ConfAdjacencyPtr)(adj->list.next); } if (ad != NULL) { if (ad == lay->lay_adjacency_lst) lay->lay_adjacency_lst = (XF86ConfAdjacencyPtr)(ad->list.next); else pad->list.next = (XF86ConfAdjacencyPtr)(ad->list.next); XtFree(ad->adj_screen_str); XtFree(ad->adj_top_str); XtFree(ad->adj_bottom_str); XtFree(ad->adj_left_str); XtFree(ad->adj_right_str); XtFree(ad->adj_refscreen); XtFree((XtPointer)ad); } lay = (XF86ConfLayoutPtr)(lay->list.next); } xf86freeAdaptorLinkList(screen->scrn_adaptor_lst); xf86freeDisplayList(screen->scrn_display_lst); XtFree(screen->scrn_identifier); XtFree(screen->scrn_monitor_str); XtFree(screen->scrn_device_str); xf86optionListFree(screen->scrn_option_lst); XtFree((XtPointer)screen); return (True); }