[PATCH:libX11 1/2] Replace Xmalloc+bzero pairs with Xcalloc calls

Jeremy Huddleston jeremyhu at apple.com
Thu Apr 14 22:18:36 PDT 2011


Reviewed-by: Jeremy Huddleston <jeremyhu at apple.com>

On Apr 14, 2011, at 21:38, Alan Coopersmith wrote:

> Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
> ---
> modules/im/ximcp/imDefIc.c     |    3 +--
> modules/im/ximcp/imInt.c       |    3 +--
> modules/im/ximcp/imLcIc.c      |    3 +--
> modules/im/ximcp/imRm.c        |   18 ++++++------------
> modules/im/ximcp/imRmAttr.c    |   15 ++++-----------
> modules/im/ximcp/imThaiIc.c    |    3 +--
> modules/im/ximcp/imTrX.c       |    3 +--
> modules/im/ximcp/imTrans.c     |    4 +---
> modules/lc/gen/lcGenConv.c     |    3 +--
> modules/lc/xlocale/lcJis.c     |    3 +--
> modules/om/generic/omGeneric.c |    9 +++------
> src/Quarks.c                   |    3 +--
> src/Xrm.c                      |    6 ++----
> src/xlibi18n/XDefaultOMIF.c    |   16 +++++-----------
> src/xlibi18n/lcCharSet.c       |    3 +--
> src/xlibi18n/lcDB.c            |    6 ++----
> src/xlibi18n/lcGeneric.c       |   15 +++++----------
> src/xlibi18n/lcPublic.c        |    6 ++----
> 18 files changed, 39 insertions(+), 83 deletions(-)
> 
> diff --git a/modules/im/ximcp/imDefIc.c b/modules/im/ximcp/imDefIc.c
> index 9283c49..a962c1b 100644
> --- a/modules/im/ximcp/imDefIc.c
> +++ b/modules/im/ximcp/imDefIc.c
> @@ -1425,10 +1425,9 @@ _XimProtoCreateIC(
>     if (!(_XimGetInputStyle(arg, &input_style)))
> 	return (XIC)NULL;
> 
> -    if ((ic = (Xic)Xmalloc(sizeof(XicRec))) == (Xic)NULL)
> +    if ((ic = Xcalloc(1, sizeof(XicRec))) == (Xic)NULL)
> 	return (XIC)NULL;
> 
> -    bzero((char *)ic, sizeof(XicRec));
>     ic->methods = &ic_methods;
>     ic->core.im = (XIM)im;
>     ic->core.input_style = input_style;
> diff --git a/modules/im/ximcp/imInt.c b/modules/im/ximcp/imInt.c
> index b198092..449a42d 100644
> --- a/modules/im/ximcp/imInt.c
> +++ b/modules/im/ximcp/imInt.c
> @@ -204,9 +204,8 @@ _XimOpenIM(
>     Xim			 im;
>     register int	 i;
> 
> -    if (!(im = (Xim)Xmalloc(sizeof(XimRec))))
> +    if (!(im = Xcalloc(1, sizeof(XimRec))))
> 	return (XIM)NULL;
> -    bzero(im, sizeof(XimRec));
> 
>     im->core.lcd       = lcd;
>     im->core.ic_chain  = (XIC)NULL;
> diff --git a/modules/im/ximcp/imLcIc.c b/modules/im/ximcp/imLcIc.c
> index c072808..4933885 100644
> --- a/modules/im/ximcp/imLcIc.c
> +++ b/modules/im/ximcp/imLcIc.c
> @@ -143,10 +143,9 @@ _XimLocalCreateIC(
>     unsigned int	 num;
>     int			 len;
> 
> -    if((ic = (Xic)Xmalloc(sizeof(XicRec))) == (Xic)NULL) {
> +    if((ic = Xcalloc(1, sizeof(XicRec))) == (Xic)NULL) {
> 	return ((XIC)NULL);
>     }
> -    bzero((char *)ic, sizeof(XicRec));
> 
>     ic->methods = &Local_ic_methods;
>     ic->core.im = im;
> diff --git a/modules/im/ximcp/imRm.c b/modules/im/ximcp/imRm.c
> index 3d09b81..3449f91 100644
> --- a/modules/im/ximcp/imRm.c
> +++ b/modules/im/ximcp/imRm.c
> @@ -360,10 +360,9 @@ _XimDefaultStyles(
> 
>     n = XIMNumber(supported_local_styles) - 1;
>     len = sizeof(XIMStyles) + sizeof(XIMStyle) * n;
> -    if(!(tmp = (XPointer)Xmalloc(len))) {
> +    if(!(tmp = Xcalloc(1, len))) {
> 	return False;
>     }
> -    bzero(tmp, len);
> 
>     styles = (XIMStyles *)tmp;
>     if (n > 0) {
> @@ -396,10 +395,9 @@ _XimDefaultIMValues(
> 
>     n = XIMNumber(supported_local_im_values_list);
>     len = sizeof(XIMValuesList) + sizeof(char **) * n;
> -    if(!(tmp = (XPointer)Xmalloc(len))) {
> +    if(!(tmp = Xcalloc(1, len))) {
> 	return False;
>     }
> -    bzero(tmp, len);
> 
>     values_list = (XIMValuesList *)tmp;
>     if (n > 0) {
> @@ -433,10 +431,9 @@ _XimDefaultICValues(
> 
>     n = XIMNumber(supported_local_ic_values_list);
>     len = sizeof(XIMValuesList) + sizeof(char **) * n;
> -    if(!(tmp = (XPointer)Xmalloc(len))) {
> +    if(!(tmp = Xcalloc(1, len))) {
> 	return False;
>     }
> -    bzero(tmp, len);
> 
>     values_list = (XIMValuesList *)tmp;
>     if (n > 0) {
> @@ -1085,10 +1082,9 @@ _XimDecodeStyles(
>     num = styles->count_styles;
> 
>     len = sizeof(XIMStyles) + sizeof(XIMStyle) * num;
> -    if(!(tmp = (XPointer)Xmalloc(len))) {
> +    if(!(tmp = Xcalloc(1, len))) {
> 	return False;
>     }
> -    bzero(tmp, len);
> 
>     out = (XIMStyles *)tmp;
>     if(num >0) {
> @@ -1124,10 +1120,9 @@ _XimDecodeValues(
>     num = values_list->count_values;
> 
>     len = sizeof(XIMValuesList) + sizeof(char **) * num;
> -    if(!(tmp = (char *)Xmalloc(len))) {
> +    if(!(tmp = Xcalloc(1, len))) {
> 	return False;
>     }
> -    bzero(tmp, len);
> 
>     out = (XIMValuesList *)tmp;
>     if(num) {
> @@ -2143,10 +2138,9 @@ _XimSetResourceList(
>     XIMResourceList	  res;
> 
>     len = sizeof(XIMResource) * num_resource;
> -    if(!(res = (XIMResourceList)Xmalloc(len))) {
> +    if(!(res = Xcalloc(1, len))) {
> 	return False;
>     }
> -    bzero((char *)res, len);
> 
>     for(i = 0; i < num_resource; i++, id++) {
> 	res[i]    = resource[i];
> diff --git a/modules/im/ximcp/imRmAttr.c b/modules/im/ximcp/imRmAttr.c
> index 27dcbc9..2e73265 100644
> --- a/modules/im/ximcp/imRmAttr.c
> +++ b/modules/im/ximcp/imRmAttr.c
> @@ -1408,7 +1408,6 @@ _XimGetAttributeID(
> {
>     unsigned int	  n;
>     XIMResourceList	  res;
> -    int			  res_len;
>     char		 *names;
>     int			  names_len;
>     XPointer		  tmp;
> @@ -1426,18 +1425,15 @@ _XimGetAttributeID(
> 
>     if (!(n = _XimCountNumberOfAttr(buf[0], &buf[1], &names_len)))
> 	return False;
> -    res_len = sizeof(XIMResource) * n;
> 
> -    if (!(res = (XIMResourceList)Xmalloc(res_len)))
> +    if (!(res = Xcalloc(n, sizeof(XIMResource))))
> 	return False;
> -    bzero((char *)res, res_len);
> 
>     values_len = sizeof(XIMValuesList) + (sizeof(char **) * n) + names_len;
> -    if (!(tmp = (XPointer)Xmalloc(values_len))) {
> +    if (!(tmp = Xcalloc(1, values_len))) {
> 	Xfree(res);
> 	return False;
>     }
> -    bzero(tmp, values_len);
> 
>     values_list = (XIMValuesList *)tmp;
>     values = (char **)((char *)tmp + sizeof(XIMValuesList));
> @@ -1475,18 +1471,15 @@ _XimGetAttributeID(
> 
>     if (!(n = _XimCountNumberOfAttr(buf[0], &buf[2], &names_len)))
> 	return False;
> -    res_len = sizeof(XIMResource) * n;
> 
> -    if (!(res = (XIMResourceList)Xmalloc(res_len)))
> +    if (!(res = Xcalloc(n, sizeof(XIMResource))))
> 	return False;
> -    bzero((char *)res, res_len);
> 
>     values_len = sizeof(XIMValuesList) + (sizeof(char **) * n) + names_len;
> -    if (!(tmp = (XPointer)Xmalloc(values_len))) {
> +    if (!(tmp = Xcalloc(1, values_len))) {
> 	Xfree(res);
> 	return False;
>     }
> -    bzero(tmp, values_len);
> 
>     values_list = (XIMValuesList *)tmp;
>     values = (char **)((char *)tmp + sizeof(XIMValuesList));
> diff --git a/modules/im/ximcp/imThaiIc.c b/modules/im/ximcp/imThaiIc.c
> index d1cb22a..95433f3 100644
> --- a/modules/im/ximcp/imThaiIc.c
> +++ b/modules/im/ximcp/imThaiIc.c
> @@ -157,10 +157,9 @@ _XimThaiCreateIC(
>     int			 len;
>     DefTree             *tree;
> 
> -    if((ic = (Xic)Xmalloc(sizeof(XicRec))) == (Xic)NULL) {
> +    if((ic = Xcalloc(1, sizeof(XicRec))) == (Xic)NULL) {
> 	return ((XIC)NULL);
>     }
> -    bzero((char *)ic,      sizeof(XicRec));
> 
>     ic->methods = &Thai_ic_methods;
>     ic->core.im = im;
> diff --git a/modules/im/ximcp/imTrX.c b/modules/im/ximcp/imTrX.c
> index edcaf08..d85d1d1 100644
> --- a/modules/im/ximcp/imTrX.c
> +++ b/modules/im/ximcp/imTrX.c
> @@ -496,9 +496,8 @@ _XimXConf(Xim im, char *address)
> {
>     XSpecRec	*spec;
> 
> -    if (!(spec = (XSpecRec *)Xmalloc(sizeof(XSpecRec))))
> +    if (!(spec = Xcalloc(1, sizeof(XSpecRec))))
> 	return False;
> -    bzero(spec, sizeof(XSpecRec));
> 
>     spec->improtocolid = XInternAtom(im->core.display, _XIM_PROTOCOL, False);
>     spec->imconnectid  = XInternAtom(im->core.display, _XIM_XCONNECT, False);
> diff --git a/modules/im/ximcp/imTrans.c b/modules/im/ximcp/imTrans.c
> index dfef765..e321d59 100644
> --- a/modules/im/ximcp/imTrans.c
> +++ b/modules/im/ximcp/imTrans.c
> @@ -293,13 +293,11 @@ _XimTransConf(
>     if (!(paddr = (char *)Xmalloc(strlen(address) + 1)))
> 	return False;
> 
> -    if (!(spec = (TransSpecRec *) Xmalloc(sizeof(TransSpecRec)))) {
> +    if (!(spec = Xcalloc(1, sizeof(TransSpecRec)))) {
> 	Xfree(paddr);
> 	return False;
>     }
> 
> -    bzero(spec, sizeof(TransSpecRec));
> -
>     (void)strcpy(paddr, address);
>     spec->address   = paddr;
> 
> diff --git a/modules/lc/gen/lcGenConv.c b/modules/lc/gen/lcGenConv.c
> index baac73a..7a113a7 100644
> --- a/modules/lc/gen/lcGenConv.c
> +++ b/modules/lc/gen/lcGenConv.c
> @@ -2660,10 +2660,9 @@ create_conv(
>     *conv->methods = *methods;
>     conv->methods->reset = init_state;
> 
> -    conv->state = (XPointer) Xmalloc(sizeof(StateRec));
> +    conv->state = Xcalloc(1, sizeof(StateRec));
>     if (conv->state == NULL)
> 	goto err;
> -    bzero((char *) conv->state, sizeof(StateRec));
> 
>     state = (State) conv->state;
>     state->lcd = lcd;
> diff --git a/modules/lc/xlocale/lcJis.c b/modules/lc/xlocale/lcJis.c
> index 594e636..551862d 100644
> --- a/modules/lc/xlocale/lcJis.c
> +++ b/modules/lc/xlocale/lcJis.c
> @@ -545,10 +545,9 @@ create_conv(
>     if (XLC_PUBLIC(lcd, is_state_depend))
> 	conv->methods->reset = init_state;
> 
> -    conv->state = (XPointer) Xmalloc(sizeof(StateRec));
> +    conv->state = Xcalloc(1, sizeof(StateRec));
>     if (conv->state == NULL)
> 	goto err;
> -    bzero((char *) conv->state, sizeof(StateRec));
> 
>     state = (State) conv->state;
>     state->lcd = lcd;
> diff --git a/modules/om/generic/omGeneric.c b/modules/om/generic/omGeneric.c
> index 44143ac..e358796 100644
> --- a/modules/om/generic/omGeneric.c
> +++ b/modules/om/generic/omGeneric.c
> @@ -1654,10 +1654,9 @@ create_oc(
>     XOCMethodsList methods_list = oc_methods_list;
>     int count;
> 
> -    oc = (XOC) Xmalloc(sizeof(XOCGenericRec));
> +    oc = Xcalloc(1, sizeof(XOCGenericRec));
>     if (oc == NULL)
> 	return (XOC) NULL;
> -    bzero((char *) oc, sizeof(XOCGenericRec));
> 
>     oc->core.om = om;
> 
> @@ -1842,10 +1841,9 @@ create_om(
> {
>     XOM om;
> 
> -    om = (XOM) Xmalloc(sizeof(XOMGenericRec));
> +    om = Xcalloc(1, sizeof(XOMGenericRec));
>     if (om == NULL)
> 	return (XOM) NULL;
> -    bzero((char *) om, sizeof(XOMGenericRec));
> 
>     om->methods = &methods;
>     om->core.lcd = lcd;
> @@ -1913,10 +1911,9 @@ read_EncodingInfo(
>     FontData font_data,ret;
>     char *buf, *bufptr,*scp;
>     int len;
> -    font_data = (FontData) Xmalloc(sizeof(FontDataRec) * count);
> +    font_data = Xcalloc(count, sizeof(FontDataRec));
>     if (font_data == NULL)
>         return NULL;
> -    bzero((char *) font_data, sizeof(FontDataRec) * count);
> 
>     ret = font_data;
>     for ( ; count-- > 0; font_data++) {
> diff --git a/src/Quarks.c b/src/Quarks.c
> index d0eb690..7a704b1 100644
> --- a/src/Quarks.c
> +++ b/src/Quarks.c
> @@ -210,10 +210,9 @@ ExpandQuarkTable(void)
> #endif
> 	newmask = 0x1ff;
>     }
> -    entries = (Entry *)Xmalloc(sizeof(Entry) * (newmask + 1));
> +    entries = Xcalloc(newmask + 1, sizeof(Entry));
>     if (!entries)
> 	return False;
> -    bzero((char *)entries, sizeof(Entry) * (newmask + 1));
>     quarkTable = entries;
>     quarkMask = newmask;
>     quarkRehash = quarkMask - 2;
> diff --git a/src/Xrm.c b/src/Xrm.c
> index c466cae..53467ae 100644
> --- a/src/Xrm.c
> +++ b/src/Xrm.c
> @@ -581,23 +581,21 @@ static void GrowTable(
> 	ltable = (LTable)table;
> 	/* cons up a copy to make MoveValues look symmetric */
> 	otable = *ltable;
> -	ltable->buckets = (VEntry *)Xmalloc(i * sizeof(VEntry));
> +	ltable->buckets = Xcalloc(i, sizeof(VEntry));
> 	if (!ltable->buckets) {
> 	    ltable->buckets = otable.buckets;
> 	    return;
> 	}
> 	ltable->table.mask = i - 1;
> -	bzero((char *)ltable->buckets, i * sizeof(VEntry));
> 	MoveValues(&otable, ltable);
>     } else {
> 	register NTable ntable;
> 
> -	ntable = (NTable)Xmalloc(sizeof(NTableRec) + i * sizeof(NTable));
> +	ntable = Xcalloc(1, sizeof(NTableRec) + (i * sizeof(NTable)));
> 	if (!ntable)
> 	    return;
> 	*ntable = *table;
> 	ntable->mask = i - 1;
> -	bzero((char *)NodeBuckets(ntable), i * sizeof(NTable));
> 	*prev = ntable;
> 	MoveTables(table, ntable);
>     }
> diff --git a/src/xlibi18n/XDefaultOMIF.c b/src/xlibi18n/XDefaultOMIF.c
> index ae8ac79..85d63e8 100644
> --- a/src/xlibi18n/XDefaultOMIF.c
> +++ b/src/xlibi18n/XDefaultOMIF.c
> @@ -128,10 +128,9 @@ init_fontset(
> 
>     data = XOM_GENERIC(oc->core.om)->data;
> 
> -    font_set = (FontSet) Xmalloc(sizeof(FontSetRec));
> +    font_set = Xcalloc(1, sizeof(FontSetRec));
>     if (font_set == NULL)
> 	return False;
> -    bzero((char *) font_set, sizeof(FontSetRec));
> 
>     gen = XOC_GENERIC(oc);
>     gen->font_set = font_set;
> @@ -1005,10 +1004,9 @@ create_oc(
> {
>     XOC oc;
> 
> -    oc = (XOC) Xmalloc(sizeof(XOCGenericRec));
> +    oc = Xcalloc(1, sizeof(XOCGenericRec));
>     if (oc == NULL)
> 	return (XOC) NULL;
> -    bzero((char *) oc, sizeof(XOCGenericRec));
> 
>     oc->core.om = om;
> 
> @@ -1126,15 +1124,13 @@ add_data(
>     XOMGenericPart *gen = XOM_GENERIC(om);
>     OMData new;
> 
> -    new = (OMData) Xmalloc(sizeof(OMDataRec));
> +    new = Xcalloc(1, sizeof(OMDataRec));
> 
>     if (new == NULL)
>         return NULL;
> 
>     gen->data = new;
> 
> -    bzero((char *) new, sizeof(OMDataRec));
> -
>     return new;
> }
> 
> @@ -1168,10 +1164,9 @@ init_om(
>     if (data == NULL)
> 	return False;
> 
> -    font_data = (FontData) Xmalloc(sizeof(FontDataRec) * count);
> +    font_data = Xcalloc(count, sizeof(FontDataRec));
>     if (font_data == NULL)
> 	return False;
> -    bzero((char *) font_data, sizeof(FontDataRec) * count);
>     data->font_data = font_data;
>     data->font_data_count = count;
> 
> @@ -1237,10 +1232,9 @@ _XDefaultOpenOM(XLCd lcd, Display *dpy, XrmDatabase rdb,
> {
>     XOM om;
> 
> -    om = (XOM) Xmalloc(sizeof(XOMGenericRec));
> +    om = Xcalloc(1, sizeof(XOMGenericRec));
>     if (om == NULL)
> 	return (XOM) NULL;
> -    bzero((char *) om, sizeof(XOMGenericRec));
> 
>     om->methods = (XOMMethods)&methods;
>     om->core.lcd = lcd;
> diff --git a/src/xlibi18n/lcCharSet.c b/src/xlibi18n/lcCharSet.c
> index 0fa39d8..5d28781 100644
> --- a/src/xlibi18n/lcCharSet.c
> +++ b/src/xlibi18n/lcCharSet.c
> @@ -176,10 +176,9 @@ _XlcCreateDefaultCharSet(
>     const char *colon;
>     char *tmp;
> 
> -    charset = (XlcCharSet) Xmalloc(sizeof(XlcCharSetRec));
> +    charset = Xcalloc(1, sizeof(XlcCharSetRec));
>     if (charset == NULL)
> 	return (XlcCharSet) NULL;
> -    bzero((char *) charset, sizeof(XlcCharSetRec));
> 
>     name_len = strlen(name);
>     ct_sequence_len = strlen(ct_sequence);
> diff --git a/src/xlibi18n/lcDB.c b/src/xlibi18n/lcDB.c
> index afff174..c6eb7f0 100644
> --- a/src/xlibi18n/lcDB.c
> +++ b/src/xlibi18n/lcDB.c
> @@ -591,11 +591,10 @@ store_to_database(
> 	goto err;
>     }
> 
> -    new = (Database)Xmalloc(sizeof(DatabaseRec));
> +    new = Xcalloc(1, sizeof(DatabaseRec));
>     if (new == (Database)NULL) {
> 	goto err;
>     }
> -    bzero(new, sizeof(DatabaseRec));
> 
>     new->category = (char *)Xmalloc(strlen(parse_info.category) + 1);
>     if (new->category == NULL) {
> @@ -1309,10 +1308,9 @@ _XlcCreateLocaleDataBase(
> 	return (XPointer)NULL;
>     }
>     n = CountDatabase(database);
> -    lc_db = (XlcDatabase)Xmalloc(sizeof(XlcDatabaseRec) * (n + 1));
> +    lc_db = Xcalloc(n + 1, sizeof(XlcDatabaseRec));
>     if (lc_db == (XlcDatabase)NULL)
> 	goto err;
> -    bzero(lc_db, sizeof(XlcDatabaseRec) * (n + 1));
>     for (p = database, i = 0; p && i < n; p = p->next, ++i) {
> 	lc_db[i].category_q = XrmStringToQuark(p->category);
> 	lc_db[i].name_q = XrmStringToQuark(p->name);
> diff --git a/src/xlibi18n/lcGeneric.c b/src/xlibi18n/lcGeneric.c
> index 688a4cf..df392e9 100644
> --- a/src/xlibi18n/lcGeneric.c
> +++ b/src/xlibi18n/lcGeneric.c
> @@ -60,15 +60,13 @@ create(
>     XLCd lcd;
>     XLCdPublicMethods new;
> 
> -    lcd = (XLCd) Xmalloc(sizeof(XLCdRec));
> +    lcd = Xcalloc(1, sizeof(XLCdRec));
>     if (lcd == NULL)
>         return (XLCd) NULL;
> -    bzero((char *) lcd, sizeof(XLCdRec));
> 
> -    lcd->core = (XLCdCore) Xmalloc(sizeof(XLCdGenericRec));
> +    lcd->core = Xcalloc(1, sizeof(XLCdGenericRec));
>     if (lcd->core == NULL)
> 	goto err;
> -    bzero((char *) lcd->core, sizeof(XLCdGenericRec));
> 
>     new = (XLCdPublicMethods) Xmalloc(sizeof(XLCdPublicMethodsRec));
>     if (new == NULL)
> @@ -180,10 +178,9 @@ add_codeset(
>     CodeSet new, *new_list;
>     int num;
> 
> -    new = (CodeSet) Xmalloc(sizeof(CodeSetRec));
> +    new = Xcalloc(1, sizeof(CodeSetRec));
>     if (new == NULL)
>         return NULL;
> -    bzero((char *) new, sizeof(CodeSetRec));
> 
>     if ((num = gen->codeset_num))
>         new_list = (CodeSet *) Xrealloc(gen->codeset_list,
> @@ -223,16 +220,14 @@ add_parse_list(
>         return False;
>     strcpy(str, encoding);
> 
> -    new = (ParseInfo) Xmalloc(sizeof(ParseInfoRec));
> +    new = Xcalloc(1, sizeof(ParseInfoRec));
>     if (new == NULL)
>         goto err;
> -    bzero((char *) new, sizeof(ParseInfoRec));
> 
>     if (gen->mb_parse_table == NULL) {
> -        gen->mb_parse_table = (unsigned char *) Xmalloc(256); /* 2^8 */
> +        gen->mb_parse_table = Xcalloc(1, 256); /* 2^8 */
>         if (gen->mb_parse_table == NULL)
>             goto err;
> -        bzero((char *) gen->mb_parse_table, 256);
>     }
> 
>     if ((num = gen->mb_parse_list_num))
> diff --git a/src/xlibi18n/lcPublic.c b/src/xlibi18n/lcPublic.c
> index 2c02f5f..43b9286 100644
> --- a/src/xlibi18n/lcPublic.c
> +++ b/src/xlibi18n/lcPublic.c
> @@ -80,15 +80,13 @@ create(
>     XLCd lcd;
>     XLCdPublicMethods new;
> 
> -    lcd = (XLCd) Xmalloc(sizeof(XLCdRec));
> +    lcd = Xcalloc(1, sizeof(XLCdRec));
>     if (lcd == NULL)
>         return (XLCd) NULL;
> -    bzero((char *) lcd, sizeof(XLCdRec));
> 
> -    lcd->core = (XLCdCore) Xmalloc(sizeof(XLCdPublicRec));
> +    lcd->core = Xcalloc(1, sizeof(XLCdPublicRec));
>     if (lcd->core == NULL)
> 	goto err;
> -    bzero((char *) lcd->core, sizeof(XLCdPublicRec));
> 
>     new = (XLCdPublicMethods) Xmalloc(sizeof(XLCdPublicMethodsRec));
>     if (new == NULL)
> -- 
> 1.7.3.2
> 
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
> 



More information about the xorg-devel mailing list