aboutsummaryrefslogtreecommitdiff
path: root/libX11/modules/im/ximcp/imInt.c
diff options
context:
space:
mode:
Diffstat (limited to 'libX11/modules/im/ximcp/imInt.c')
-rw-r--r--libX11/modules/im/ximcp/imInt.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/libX11/modules/im/ximcp/imInt.c b/libX11/modules/im/ximcp/imInt.c
index b19809237..26f4991a2 100644
--- a/libX11/modules/im/ximcp/imInt.c
+++ b/libX11/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;
@@ -215,14 +214,12 @@ _XimOpenIM(
im->core.res_name = NULL;
im->core.res_class = NULL;
if((res_name != NULL) && (*res_name != '\0')){
- if(!(im->core.res_name = (char *)Xmalloc(strlen(res_name)+1)))
+ if(!(im->core.res_name = strdup(res_name)))
goto Error1;
- strcpy(im->core.res_name,res_name);
}
if((res_class != NULL) && (*res_class != '\0')){
- if(!(im->core.res_class = (char *)Xmalloc(strlen(res_class)+1)))
+ if(!(im->core.res_class = strdup(res_class)))
goto Error2;
- strcpy(im->core.res_class,res_class);
}
if(!(im->core.im_name = _XimMakeImName(lcd)))
goto Error3;