Module Name: xsrc
Committed By: mrg
Date: Sun Mar 16 22:48:35 UTC 2014
Modified Files:
xsrc/external/mit/libX11/dist/modules/lc/gen: lcGenConv.c
xsrc/external/mit/libX11/dist/src: Font.c FontNames.c GetFPath.c
ListExt.c ModMap.c XlibInt.c
xsrc/external/mit/libX11/dist/src/xlibi18n: XlcDL.c
Removed Files:
xsrc/external/mit/libX11/dist/src: udcInf.c
Log Message:
merge libX11 1.6.2.
To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 \
xsrc/external/mit/libX11/dist/modules/lc/gen/lcGenConv.c
cvs rdiff -u -r1.2 -r1.3 xsrc/external/mit/libX11/dist/src/Font.c \
xsrc/external/mit/libX11/dist/src/FontNames.c \
xsrc/external/mit/libX11/dist/src/GetFPath.c \
xsrc/external/mit/libX11/dist/src/ListExt.c \
xsrc/external/mit/libX11/dist/src/ModMap.c
cvs rdiff -u -r1.5 -r1.6 xsrc/external/mit/libX11/dist/src/XlibInt.c
cvs rdiff -u -r1.1.1.4 -r0 xsrc/external/mit/libX11/dist/src/udcInf.c
cvs rdiff -u -r1.6 -r1.7 xsrc/external/mit/libX11/dist/src/xlibi18n/XlcDL.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: xsrc/external/mit/libX11/dist/modules/lc/gen/lcGenConv.c
diff -u xsrc/external/mit/libX11/dist/modules/lc/gen/lcGenConv.c:1.5 xsrc/external/mit/libX11/dist/modules/lc/gen/lcGenConv.c:1.6
--- xsrc/external/mit/libX11/dist/modules/lc/gen/lcGenConv.c:1.5 Thu May 30 23:09:16 2013
+++ xsrc/external/mit/libX11/dist/modules/lc/gen/lcGenConv.c Sun Mar 16 22:48:34 2014
@@ -342,7 +342,7 @@ byteM_parse_codeset(
continue;
for (j = 0; j < codeset->length; j++) {
- ch = *((unsigned char *)(inbufptr + j));
+ ch = *((const unsigned char *)(inbufptr + j));
byteM_rec = byteM[j];
byteinfo = byteM_rec.byteinfo;
@@ -764,11 +764,6 @@ mbstowcs_org(
return( 0 );
}
-#ifdef notdef
- if (*from_left > *to_left)
- *from_left = *to_left;
-#endif
-
while (*from_left && *to_left) {
ch = *inbufptr++;
@@ -923,11 +918,6 @@ wcstombs_org(
int defstr_len = strlen(default_string);
-#ifdef notdef
- if (*from_left > *to_left)
- *from_left = *to_left;
-#endif
-
while (*from_left && *to_left) {
wc = *inbufptr++;
@@ -1084,11 +1074,6 @@ wcstocts(
int from_size = *from_left;
char *ext_seg_len = NULL;
-#ifdef notdef
- if (*from_left > *to_left)
- *from_left = *to_left;
-#endif
-
while (*from_left && *to_left) {
wc = *inbufptr++;
@@ -1239,7 +1224,7 @@ stdc_wcstocts(
ret:
if (buf)
- Xfree((char *)buf);
+ Xfree(buf);
return (unconv_num1 + unconv_num2);
}
@@ -1278,11 +1263,6 @@ ctstowcs(
return( 0 );
}
-#ifdef notdef
- if (*from_left > *to_left)
- *from_left = *to_left;
-#endif
-
while (*from_left && *to_left) {
ch = *inbufptr++;
@@ -1564,7 +1544,7 @@ stdc_ctstowcs(
ret:
if (buf)
- Xfree((char *)buf);
+ Xfree(buf);
return (unconv_num1 + unconv_num2);
}
@@ -1600,7 +1580,7 @@ stdc_cstowcs(
ret:
if (buf)
- Xfree((char *)buf);
+ Xfree(buf);
return (unconv_num1 + unconv_num2);
}
@@ -1636,7 +1616,7 @@ mbstocts(
ret:
if (buf)
- Xfree((char *)buf);
+ Xfree(buf);
return (unconv_num1 + unconv_num2);
}
@@ -1674,11 +1654,6 @@ mbstostr(
return( 0 );
}
-#ifdef notdef
- if (*from_left > *to_left)
- *from_left = *to_left;
-#endif
-
while (*from_left && *to_left) {
ch = *inbufptr++;
@@ -1966,12 +1941,6 @@ wcstostr(
const char *default_string = XLC_PUBLIC(lcd, default_string);
int defstr_len = strlen(default_string);
-
-#ifdef notdef
- if (*from_left > *to_left)
- *from_left = *to_left;
-#endif
-
while (*from_left && *to_left) {
wc = *inbufptr++;
@@ -2094,7 +2063,7 @@ stdc_wcstostr(
ret:
if (buf)
- Xfree((char *)buf);
+ Xfree(buf);
return (unconv_num1 + unconv_num2);
}
@@ -2126,11 +2095,6 @@ wctocs(
char *outbufptr = *to;
int from_size = *from_left;
-#ifdef notdef
- if (*from_left > *to_left)
- *from_left = *to_left;
-#endif
-
if (*from_left && *to_left) {
wc = *inbufptr++;
@@ -2374,7 +2338,7 @@ ctstombs(
ret:
if (buf)
- Xfree((char *)buf);
+ Xfree(buf);
return (unconv_num1 + unconv_num2);
}
@@ -2410,7 +2374,7 @@ cstombs(
ret:
if (buf)
- Xfree((char *)buf);
+ Xfree(buf);
return (unconv_num1 + unconv_num2);
}
@@ -2441,11 +2405,6 @@ strtombs(
char *outbufptr = *to;
int from_size = *from_left;
-#ifdef notdef
- if (*from_left > *to_left)
- *from_left = *to_left;
-#endif
-
while (*from_left && *to_left) {
ch = *inbufptr++;
@@ -2553,11 +2512,6 @@ strtowcs(
wchar_t *outbufptr = (wchar_t *)*to;
int from_size = *from_left;
-#ifdef notdef
- if (*from_left > *to_left)
- *from_left = *to_left;
-#endif
-
while (*from_left && *to_left) {
ch = *inbufptr++;
@@ -2629,7 +2583,7 @@ stdc_strtowcs(
ret:
if (buf)
- Xfree((char *)buf);
+ Xfree(buf);
return (unconv_num1 + unconv_num2);
}
@@ -2643,14 +2597,14 @@ close_converter(
XlcConv conv)
{
if (conv->state) {
- Xfree((char *) conv->state);
+ Xfree(conv->state);
}
if (conv->methods) {
- Xfree((char *) conv->methods);
+ Xfree(conv->methods);
}
- Xfree((char *) conv);
+ Xfree(conv);
}
/* -------------------------------------------------------------------------- */
@@ -2665,11 +2619,11 @@ create_conv(
XlcConv conv;
State state;
- conv = (XlcConv) Xcalloc(1, sizeof(XlcConvRec));
+ conv = Xcalloc(1, sizeof(XlcConvRec));
if (conv == NULL)
return (XlcConv) NULL;
- conv->methods = (XlcConvMethods) Xmalloc(sizeof(XlcConvMethodsRec));
+ conv->methods = Xmalloc(sizeof(XlcConvMethodsRec));
if (conv->methods == NULL)
goto err;
*conv->methods = *methods;
Index: xsrc/external/mit/libX11/dist/src/Font.c
diff -u xsrc/external/mit/libX11/dist/src/Font.c:1.2 xsrc/external/mit/libX11/dist/src/Font.c:1.3
--- xsrc/external/mit/libX11/dist/src/Font.c:1.2 Tue Jun 25 16:15:16 2013
+++ xsrc/external/mit/libX11/dist/src/Font.c Sun Mar 16 22:48:34 2014
@@ -166,13 +166,13 @@ XFreeFont(
#ifdef USE_XF86BIGFONT
_XF86BigfontFreeFontMetrics(fs);
#else
- Xfree ((char *) fs->per_char);
+ Xfree (fs->per_char);
#endif
}
_XFreeExtData(fs->ext_data);
if (fs->properties)
- Xfree ((char *) fs->properties);
- Xfree ((char *) fs);
+ Xfree (fs->properties);
+ Xfree (fs);
return 1;
}
@@ -249,7 +249,7 @@ _XQueryFont (
fs->properties = Xmalloc (pbytes);
}
if (! fs->properties) {
- Xfree((char *) fs);
+ Xfree(fs);
_XEatDataWords(dpy, reply_left);
return (XFontStruct *)NULL;
}
@@ -271,8 +271,8 @@ _XQueryFont (
}
}
if (! fs->per_char) {
- if (fs->properties) Xfree((char *) fs->properties);
- Xfree((char *) fs);
+ if (fs->properties) Xfree(fs->properties);
+ Xfree(fs);
_XEatDataWords(dpy, reply_left);
return (XFontStruct *)NULL;
}
@@ -493,7 +493,7 @@ _XF86BigfontQueryFont (
fs->properties = Xmalloc (pbytes);
}
if (! fs->properties) {
- Xfree((char *) fs);
+ Xfree(fs);
_XEatDataWords(dpy, reply_left);
return (XFontStruct *)NULL;
}
@@ -507,8 +507,8 @@ _XF86BigfontQueryFont (
any real font needs, so the combined total doesn't overflow either */
if (reply.nUniqCharInfos > ((ULONG_MAX / 2) / SIZEOF(xCharInfo)) ||
reply.nCharInfos > ((ULONG_MAX / 2) / sizeof(CARD16))) {
- Xfree((char *) fs->properties);
- Xfree((char *) fs);
+ Xfree(fs->properties);
+ Xfree(fs);
_XEatDataWords(dpy, reply_left);
return (XFontStruct *)NULL;
}
@@ -524,15 +524,15 @@ _XF86BigfontQueryFont (
+ (reply.nCharInfos+1)/2 * 2 * sizeof(CARD16);
pUniqCI = Xmalloc (nbytes);
if (!pUniqCI) {
- if (fs->properties) Xfree((char *) fs->properties);
- Xfree((char *) fs);
+ if (fs->properties) Xfree(fs->properties);
+ Xfree(fs);
_XEatDataWords(dpy, reply_left);
return (XFontStruct *)NULL;
}
if (! (fs->per_char = Xmalloc (reply.nCharInfos * sizeof(XCharStruct)))) {
- Xfree((char *) pUniqCI);
- if (fs->properties) Xfree((char *) fs->properties);
- Xfree((char *) fs);
+ Xfree(pUniqCI);
+ if (fs->properties) Xfree(fs->properties);
+ Xfree(fs);
_XEatDataWords(dpy, reply_left);
return (XFontStruct *)NULL;
}
@@ -541,15 +541,15 @@ _XF86BigfontQueryFont (
for (i = 0; i < reply.nCharInfos; i++) {
if (pIndex2UniqIndex[i] >= reply.nUniqCharInfos) {
fprintf(stderr, "_XF86BigfontQueryFont: server returned wrong data\n");
- Xfree((char *) pUniqCI);
- if (fs->properties) Xfree((char *) fs->properties);
- Xfree((char *) fs);
+ Xfree(pUniqCI);
+ if (fs->properties) Xfree(fs->properties);
+ Xfree(fs);
return (XFontStruct *)NULL;
}
/* XXX the next statement won't work if short isn't 16 bits */
fs->per_char[i] = * (XCharStruct *) &pUniqCI[pIndex2UniqIndex[i]];
}
- Xfree((char *) pUniqCI);
+ Xfree(pUniqCI);
} else {
#ifdef HAS_SHM
XExtData *pData;
@@ -558,8 +558,8 @@ _XF86BigfontQueryFont (
pData = Xmalloc(sizeof(XExtData));
if (!pData) {
- if (fs->properties) Xfree((char *) fs->properties);
- Xfree((char *) fs);
+ if (fs->properties) Xfree(fs->properties);
+ Xfree(fs);
return (XFontStruct *)NULL;
}
@@ -577,9 +577,9 @@ _XF86BigfontQueryFont (
if ((addr = shmat(reply.shmid, NULL, SHM_RDONLY)) == (char *)-1) {
if (extcodes->serverCapabilities & CAP_VerifiedLocal)
fprintf(stderr, "_XF86BigfontQueryFont: could not attach shm segment\n");
- Xfree((char *) pData);
- if (fs->properties) Xfree((char *) fs->properties);
- Xfree((char *) fs);
+ Xfree(pData);
+ if (fs->properties) Xfree(fs->properties);
+ Xfree(fs);
/* Stop requesting shared memory transport from now on. */
extcodes->serverCapabilities &= ~ XF86Bigfont_CAP_LocalShm;
return (XFontStruct *)NULL;
@@ -592,9 +592,9 @@ _XF86BigfontQueryFont (
&& buf.shm_segsz >= reply.shmsegoffset + reply.nCharInfos * sizeof(XCharStruct) + sizeof(CARD32)
&& *(CARD32 *)(addr + reply.shmsegoffset + reply.nCharInfos * sizeof(XCharStruct)) == extcodes->serverSignature)) {
shmdt(addr);
- Xfree((char *) pData);
- if (fs->properties) Xfree((char *) fs->properties);
- Xfree((char *) fs);
+ Xfree(pData);
+ if (fs->properties) Xfree(fs->properties);
+ Xfree(fs);
/* Stop requesting shared memory transport from now on. */
extcodes->serverCapabilities &= ~ XF86Bigfont_CAP_LocalShm;
return (XFontStruct *)NULL;
@@ -611,8 +611,8 @@ _XF86BigfontQueryFont (
fs->per_char = (XCharStruct *) (addr + reply.shmsegoffset);
#else
fprintf(stderr, "_XF86BigfontQueryFont: try recompiling libX11 with HasShm, Xserver has shm support\n");
- if (fs->properties) Xfree((char *) fs->properties);
- Xfree((char *) fs);
+ if (fs->properties) Xfree(fs->properties);
+ Xfree(fs);
/* Stop requesting shared memory transport from now on. */
extcodes->serverCapabilities &= ~ XF86Bigfont_CAP_LocalShm;
return (XFontStruct *)NULL;
@@ -638,9 +638,9 @@ _XF86BigfontFreeFontMetrics (XFontStruct
XF86BigfontNumber)))
shmdt ((char *) pData->private_data);
else
- Xfree ((char *) fs->per_char);
+ Xfree (fs->per_char);
#else
- Xfree ((char *) fs->per_char);
+ Xfree (fs->per_char);
#endif
}
@@ -693,14 +693,14 @@ int _XF86LoadQueryLocaleFont(
#ifdef USE_XF86BIGFONT
_XF86BigfontFreeFontMetrics(fs);
#else
- Xfree ((char *) fs->per_char);
+ Xfree (fs->per_char);
#endif
}
_XFreeExtData(fs->ext_data);
if (fs->properties)
- Xfree ((char *) fs->properties);
+ Xfree (fs->properties);
*fidp = fs->fid;
- Xfree ((char *) fs);
+ Xfree (fs);
} else {
XFreeFont(dpy, fs);
}
Index: xsrc/external/mit/libX11/dist/src/FontNames.c
diff -u xsrc/external/mit/libX11/dist/src/FontNames.c:1.2 xsrc/external/mit/libX11/dist/src/FontNames.c:1.3
--- xsrc/external/mit/libX11/dist/src/FontNames.c:1.2 Tue Jun 25 20:34:20 2013
+++ xsrc/external/mit/libX11/dist/src/FontNames.c Sun Mar 16 22:48:34 2014
@@ -73,7 +73,7 @@ int *actualCount) /* RETURN */
}
if ((! flist) || (! ch)) {
- if (flist) Xfree((char *) flist);
+ if (flist) Xfree(flist);
if (ch) Xfree(ch);
_XEatDataWords(dpy, rep.length);
*actualCount = 0;
@@ -116,7 +116,7 @@ XFreeFontNames(char **list)
Xfree (*names);
}
Xfree (list[0]-1);
- Xfree ((char *)list);
+ Xfree (list);
}
return 1;
}
Index: xsrc/external/mit/libX11/dist/src/GetFPath.c
diff -u xsrc/external/mit/libX11/dist/src/GetFPath.c:1.2 xsrc/external/mit/libX11/dist/src/GetFPath.c:1.3
--- xsrc/external/mit/libX11/dist/src/GetFPath.c:1.2 Tue Jun 25 20:34:20 2013
+++ xsrc/external/mit/libX11/dist/src/GetFPath.c Sun Mar 16 22:48:34 2014
@@ -57,7 +57,7 @@ char **XGetFontPath(
}
if ((! flist) || (! ch)) {
- if (flist) Xfree((char *) flist);
+ if (flist) Xfree(flist);
if (ch) Xfree(ch);
_XEatDataWords(dpy, rep.length);
UnlockDisplay(dpy);
@@ -93,7 +93,7 @@ XFreeFontPath (char **list)
{
if (list != NULL) {
Xfree (list[0]-1);
- Xfree ((char *)list);
+ Xfree (list);
}
return 1;
}
Index: xsrc/external/mit/libX11/dist/src/ListExt.c
diff -u xsrc/external/mit/libX11/dist/src/ListExt.c:1.2 xsrc/external/mit/libX11/dist/src/ListExt.c:1.3
--- xsrc/external/mit/libX11/dist/src/ListExt.c:1.2 Tue Jun 25 20:34:20 2013
+++ xsrc/external/mit/libX11/dist/src/ListExt.c Sun Mar 16 22:48:34 2014
@@ -62,8 +62,8 @@ char **XListExtensions(
}
if ((!list) || (!ch)) {
- if (list) Xfree((char *) list);
- if (ch) Xfree((char *) ch);
+ if (list) Xfree(list);
+ if (ch) Xfree(ch);
_XEatDataWords(dpy, rep.length);
UnlockDisplay(dpy);
SyncHandle();
@@ -99,7 +99,7 @@ XFreeExtensionList (char **list)
{
if (list != NULL) {
Xfree (list[0]-1);
- Xfree ((char *)list);
+ Xfree (list);
}
return 1;
}
Index: xsrc/external/mit/libX11/dist/src/ModMap.c
diff -u xsrc/external/mit/libX11/dist/src/ModMap.c:1.2 xsrc/external/mit/libX11/dist/src/ModMap.c:1.3
--- xsrc/external/mit/libX11/dist/src/ModMap.c:1.2 Tue Jun 25 20:34:20 2013
+++ xsrc/external/mit/libX11/dist/src/ModMap.c Sun Mar 16 22:48:34 2014
@@ -50,7 +50,7 @@ XGetModifierMapping(register Display *dp
} else
res = NULL;
if ((! res) || (! res->modifiermap)) {
- if (res) Xfree((char *) res);
+ if (res) Xfree(res);
res = (XModifierKeymap *) NULL;
_XEatDataWords(dpy, rep.length);
} else {
@@ -65,9 +65,9 @@ XGetModifierMapping(register Display *dp
/*
* Returns:
- * 0 Success
- * 1 Busy - one or more old or new modifiers are down
- * 2 Failed - one or more new modifiers unacceptable
+ * MappingSuccess (0) Success
+ * MappingBusy (1) Busy - one or more old or new modifiers are down
+ * MappingFailed (2) Failed - one or more new modifiers unacceptable
*/
int
XSetModifierMapping(
@@ -79,13 +79,11 @@ XSetModifierMapping(
int mapSize = modifier_map->max_keypermod << 3; /* 8 modifiers */
LockDisplay(dpy);
- GetReqExtra(SetModifierMapping, mapSize, req);
-
+ GetReq(SetModifierMapping, req);
+ req->length += mapSize >> 2;
req->numKeyPerModifier = modifier_map->max_keypermod;
- memcpy((char *) NEXTPTR(req,xSetModifierMappingReq),
- (char *) modifier_map->modifiermap,
- mapSize);
+ Data(dpy, modifier_map->modifiermap, mapSize);
(void) _XReply(dpy, (xReply *) & rep,
(SIZEOF(xSetModifierMappingReply) - SIZEOF(xReply)) >> 2, xTrue);
@@ -104,7 +102,7 @@ XNewModifiermap(int keyspermodifier)
Xmalloc(8 * keyspermodifier)
: (KeyCode *) NULL);
if (keyspermodifier && (res->modifiermap == NULL)) {
- Xfree((char *) res);
+ Xfree(res);
return (XModifierKeymap *) NULL;
}
}
@@ -117,8 +115,8 @@ XFreeModifiermap(XModifierKeymap *map)
{
if (map) {
if (map->modifiermap)
- Xfree((char *) map->modifiermap);
- Xfree((char *) map);
+ Xfree(map->modifiermap);
+ Xfree(map);
}
return 1;
}
Index: xsrc/external/mit/libX11/dist/src/XlibInt.c
diff -u xsrc/external/mit/libX11/dist/src/XlibInt.c:1.5 xsrc/external/mit/libX11/dist/src/XlibInt.c:1.6
--- xsrc/external/mit/libX11/dist/src/XlibInt.c:1.5 Thu May 30 23:09:16 2013
+++ xsrc/external/mit/libX11/dist/src/XlibInt.c Sun Mar 16 22:48:34 2014
@@ -1733,6 +1733,14 @@ void *_XGetRequest(Display *dpy, CARD8 t
if (dpy->bufptr + len > dpy->bufmax)
_XFlush(dpy);
+ /* Request still too large, so do not allow it to overflow. */
+ if (dpy->bufptr + len > dpy->bufmax) {
+ fprintf(stderr,
+ "Xlib: request %d length %zd would exceed buffer size.\n",
+ type, len);
+ /* Changes failure condition from overflow to NULL dereference. */
+ return NULL;
+ }
if (len % 4)
fprintf(stderr,
Index: xsrc/external/mit/libX11/dist/src/xlibi18n/XlcDL.c
diff -u xsrc/external/mit/libX11/dist/src/xlibi18n/XlcDL.c:1.6 xsrc/external/mit/libX11/dist/src/xlibi18n/XlcDL.c:1.7
--- xsrc/external/mit/libX11/dist/src/xlibi18n/XlcDL.c:1.6 Wed Aug 3 03:06:00 2011
+++ xsrc/external/mit/libX11/dist/src/xlibi18n/XlcDL.c Sun Mar 16 22:48:35 2014
@@ -185,16 +185,10 @@ resolve_object(char *path, const char *l
if (lc_len == 0) { /* True only for the 1st time */
lc_len = OBJECT_INIT_LEN;
- xi18n_objects_list = (XI18NObjectsList)
- Xmalloc(sizeof(XI18NObjectsListRec) * lc_len);
+ xi18n_objects_list = Xmalloc(sizeof(XI18NObjectsListRec) * lc_len);
if (!xi18n_objects_list) return;
}
-/*
-1266793
-Limit the length of path to prevent stack buffer corruption.
- sprintf(filename, "%s/%s", path, "XI18N_OBJS");
-*/
- sprintf(filename, "%.*s/%s", BUFSIZ - 12, path, "XI18N_OBJS");
+ snprintf(filename, sizeof(filename), "%s/%s", path, "XI18N_OBJS");
fp = fopen(filename, "r");
if (fp == (FILE *)NULL){
return;
@@ -212,11 +206,13 @@ Limit the length of path to prevent stac
}
if (lc_count == lc_len) {
- lc_len += OBJECT_INC_LEN;
- xi18n_objects_list = (XI18NObjectsList)
- Xrealloc(xi18n_objects_list,
- sizeof(XI18NObjectsListRec) * lc_len);
- if (!xi18n_objects_list) return;
+ int new_len = lc_len + OBJECT_INC_LEN;
+ XI18NObjectsListRec *tmp = Xrealloc(xi18n_objects_list,
+ sizeof(XI18NObjectsListRec) * new_len);
+ if (tmp == NULL)
+ goto done;
+ xi18n_objects_list = tmp;
+ lc_len = new_len;
}
n = parse_line(p, args, 6);
@@ -244,6 +240,7 @@ Limit the length of path to prevent stac
lc_count++;
}
}
+ done:
fclose(fp);
}
@@ -383,9 +380,9 @@ _XlcDynamicLoad(const char *lc_name)
if (lc_name == NULL) return (XLCd)NULL;
- if (_XlcLocaleDirName(lc_dir, BUFSIZE, (char *)lc_name) == (char *)NULL)
+ if (_XlcLocaleDirName(lc_dir, BUFSIZE, lc_name) == NULL)
return (XLCd)NULL;
- if (_XlcLocaleLibDirName(lc_lib_dir, BUFSIZE, (char *)lc_name) == (char*)NULL)
+ if (_XlcLocaleLibDirName(lc_lib_dir, BUFSIZE, lc_name) == NULL)
return (XLCd)NULL;
resolve_object(lc_dir, lc_name);
@@ -512,7 +509,7 @@ _XDynamicUnRegisterIMInstantiateCallback
XPointer client_data)
{
char lc_dir[BUFSIZE];
- char *lc_name;
+ const char *lc_name;
dynamicUnregisterProcp im_unregisterIM = (dynamicUnregisterProcp)NULL;
Bool ret_flag = False;
int count;