diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c index 605c6b347..de3edf638 100644 --- a/hw/xfree86/common/xf86Config.c +++ b/hw/xfree86/common/xf86Config.c @@ -2088,8 +2088,7 @@ configMonitor(MonPtr monitorp, XF86ConfMonitorPtr conf_monitor) */ cmodep = conf_monitor->mon_modeline_lst; while( cmodep ) { - mode = xnfalloc(sizeof(DisplayModeRec)); - memset(mode,'\0',sizeof(DisplayModeRec)); + mode = xnfcalloc(1, sizeof(DisplayModeRec)); mode->type = 0; mode->Clock = cmodep->ml_clock; mode->HDisplay = cmodep->ml_hdisplay; @@ -2426,10 +2425,7 @@ addDefaultModes(MonPtr monitorp) if ( ! modeIsPresent(xf86DefaultModes[i].name,monitorp) ) do { - mode = xnfalloc(sizeof(DisplayModeRec)); - memcpy(mode,&xf86DefaultModes[i],sizeof(DisplayModeRec)); - if (xf86DefaultModes[i].name) - mode->name = xnfstrdup(xf86DefaultModes[i].name); + mode = xf86DuplicateMode(&xf86DefaultModes[i]); if( last ) { mode->prev = last; last->next = mode; diff --git a/hw/xfree86/common/xf86cvt.c b/hw/xfree86/common/xf86cvt.c index dfb6e71e4..f8185a38c 100644 --- a/hw/xfree86/common/xf86cvt.c +++ b/hw/xfree86/common/xf86cvt.c @@ -56,7 +56,7 @@ _X_EXPORT DisplayModePtr xf86CVTMode(int HDisplay, int VDisplay, float VRefresh, Bool Reduced, Bool Interlaced) { - DisplayModeRec *Mode = xnfalloc(sizeof(DisplayModeRec)); + DisplayModeRec *Mode = xnfcalloc(1, sizeof(DisplayModeRec)); /* 1) top/bottom margin size (% of height) - default: 1.8 */ #define CVT_MARGIN_PERCENTAGE 1.8 @@ -79,8 +79,6 @@ xf86CVTMode(int HDisplay, int VDisplay, float VRefresh, Bool Reduced, int VDisplayRnd, VMargin, VSync; float Interlace; /* Please rename this */ - memset(Mode, 0, sizeof(DisplayModeRec)); - /* CVT default is 60.0Hz */ if (!VRefresh) VRefresh = 60.0; diff --git a/hw/xfree86/fbdevhw/fbdevhw.c b/hw/xfree86/fbdevhw/fbdevhw.c index 13be7858f..a1f67486f 100644 --- a/hw/xfree86/fbdevhw/fbdevhw.c +++ b/hw/xfree86/fbdevhw/fbdevhw.c @@ -625,14 +625,11 @@ fbdevHWSetVideoModes(ScrnInfoPtr pScrn) pScrn->virtualY = mode->VDisplay; if (NULL == pScrn->modes) { - pScrn->modes = xnfalloc(sizeof(DisplayModeRec)); - this = pScrn->modes; - memcpy(this,mode,sizeof(DisplayModeRec)); + this = pScrn->modes = xf86DuplicateMode(mode); this->next = this; this->prev = this; } else { - this = xnfalloc(sizeof(DisplayModeRec)); - memcpy(this,mode,sizeof(DisplayModeRec)); + this = xf86DuplicateMode(mode); this->next = pScrn->modes; this->prev = last; last->next = this; diff --git a/hw/xfree86/modes/xf86EdidModes.c b/hw/xfree86/modes/xf86EdidModes.c index 39328398f..47b984d0f 100644 --- a/hw/xfree86/modes/xf86EdidModes.c +++ b/hw/xfree86/modes/xf86EdidModes.c @@ -336,8 +336,7 @@ DDCModeFromDetailedTiming(int scrnIndex, struct detailed_timings *timing, " sync.\n", __func__, timing->h_active, timing->v_active); } - Mode = xnfalloc(sizeof(DisplayModeRec)); - memset(Mode, 0, sizeof(DisplayModeRec)); + Mode = xnfcalloc(1, sizeof(DisplayModeRec)); Mode->type = M_T_DRIVER; if (preferred) diff --git a/hw/xfree86/modes/xf86cvt.c b/hw/xfree86/modes/xf86cvt.c index 69ccc4259..68a94627c 100644 --- a/hw/xfree86/modes/xf86cvt.c +++ b/hw/xfree86/modes/xf86cvt.c @@ -72,7 +72,7 @@ _X_EXPORT DisplayModePtr xf86CVTMode(int HDisplay, int VDisplay, float VRefresh, Bool Reduced, Bool Interlaced) { - DisplayModeRec *Mode = xnfalloc(sizeof(DisplayModeRec)); + DisplayModeRec *Mode = xnfcalloc(1, sizeof(DisplayModeRec)); /* 1) top/bottom margin size (% of height) - default: 1.8 */ #define CVT_MARGIN_PERCENTAGE 1.8 @@ -95,8 +95,6 @@ xf86CVTMode(int HDisplay, int VDisplay, float VRefresh, Bool Reduced, int VDisplayRnd, VMargin, VSync; float Interlace; /* Please rename this */ - memset(Mode, 0, sizeof(DisplayModeRec)); - /* CVT default is 60.0Hz */ if (!VRefresh) VRefresh = 60.0;