Commit 5e0584c4 authored by Alan Coopersmith's avatar Alan Coopersmith Committed by Ulrich Sibiller

Preserve constness in casting arguments through the Data*() routines

Casts were annoying gcc by dropping constness when changing types, when routines simply either copy data into the request buffer or send it directly to the X server, and never modify the input. Fixes gcc warnings including: ChProp.c: In function 'XChangeProperty': ChProp.c:65:6: warning: cast discards '__attribute__((const))' qualifier from pointer target type [-Wcast-qual] ChProp.c:65:6: warning: cast discards '__attribute__((const))' qualifier from pointer target type [-Wcast-qual] ChProp.c:74:6: warning: cast discards '__attribute__((const))' qualifier from pointer target type [-Wcast-qual] ChProp.c:74:6: warning: cast discards '__attribute__((const))' qualifier from pointer target type [-Wcast-qual] ChProp.c:83:6: warning: cast discards '__attribute__((const))' qualifier from pointer target type [-Wcast-qual] SetHints.c: In function 'XSetStandardProperties': SetHints.c:262:20: warning: cast discards '__attribute__((const))' qualifier from pointer target type [-Wcast-qual] SetPntMap.c: In function 'XSetPointerMapping': SetPntMap.c:46:5: warning: cast discards '__attribute__((const))' qualifier from pointer target type [-Wcast-qual] SetPntMap.c:46:5: warning: cast discards '__attribute__((const))' qualifier from pointer target type [-Wcast-qual] StBytes.c: In function 'XStoreBuffer': StBytes.c:97:33: warning: cast discards '__attribute__((const))' qualifier from pointer target type [-Wcast-qual] StName.c: In function 'XStoreName': StName.c:40:27: warning: cast discards '__attribute__((const))' qualifier from pointer target type [-Wcast-qual] StName.c: In function 'XSetIconName': StName.c:51:27: warning: cast discards '__attribute__((const))' qualifier from pointer target type [-Wcast-qual] Signed-off-by: 's avatarAlan Coopersmith <alan.coopersmith@oracle.com> Backported-to-NX-by: 's avatarUlrich Sibiller <uli42@gmx.de>
parent d91c145a
...@@ -62,7 +62,7 @@ XChangeProperty ( ...@@ -62,7 +62,7 @@ XChangeProperty (
len = ((long)nelements + 3)>>2; len = ((long)nelements + 3)>>2;
if (dpy->bigreq_size || req->length + len <= (unsigned) 65535) { if (dpy->bigreq_size || req->length + len <= (unsigned) 65535) {
SetReqLen(req, len, len); SetReqLen(req, len, len);
Data (dpy, (char *)data, nelements); Data (dpy, (_Xconst char *)data, nelements);
} /* else force BadLength */ } /* else force BadLength */
break; break;
...@@ -71,7 +71,7 @@ XChangeProperty ( ...@@ -71,7 +71,7 @@ XChangeProperty (
if (dpy->bigreq_size || req->length + len <= (unsigned) 65535) { if (dpy->bigreq_size || req->length + len <= (unsigned) 65535) {
SetReqLen(req, len, len); SetReqLen(req, len, len);
len = (long)nelements << 1; len = (long)nelements << 1;
Data16 (dpy, (short *) data, len); Data16 (dpy, (_Xconst short *) data, len);
} /* else force BadLength */ } /* else force BadLength */
break; break;
...@@ -80,7 +80,7 @@ XChangeProperty ( ...@@ -80,7 +80,7 @@ XChangeProperty (
if (dpy->bigreq_size || req->length + len <= (unsigned) 65535) { if (dpy->bigreq_size || req->length + len <= (unsigned) 65535) {
SetReqLen(req, len, len); SetReqLen(req, len, len);
len = (long)nelements << 2; len = (long)nelements << 2;
Data32 (dpy, (long *) data, len); Data32 (dpy, (_Xconst long *) data, len);
} /* else force BadLength */ } /* else force BadLength */
break; break;
......
...@@ -259,7 +259,9 @@ XSetStandardProperties ( ...@@ -259,7 +259,9 @@ XSetStandardProperties (
if (icon_string != NULL) { if (icon_string != NULL) {
XChangeProperty (dpy, w, XA_WM_ICON_NAME, XA_STRING, 8, XChangeProperty (dpy, w, XA_WM_ICON_NAME, XA_STRING, 8,
PropModeReplace, (unsigned char *)icon_string, safestrlen(icon_string)); PropModeReplace,
(_Xconst unsigned char *)icon_string,
safestrlen(icon_string));
} }
if (icon_pixmap != None) { if (icon_pixmap != None) {
......
...@@ -43,7 +43,7 @@ XSetPointerMapping ( ...@@ -43,7 +43,7 @@ XSetPointerMapping (
GetReq (SetPointerMapping, req); GetReq (SetPointerMapping, req);
req->nElts = nmaps; req->nElts = nmaps;
req->length += (nmaps + 3)>>2; req->length += (nmaps + 3)>>2;
Data (dpy, (char *)map, (long) nmaps); Data (dpy, (_Xconst char *)map, (long) nmaps);
if (_XReply (dpy, (xReply *)&rep, 0, xFalse) == 0) if (_XReply (dpy, (xReply *)&rep, 0, xFalse) == 0)
rep.success = MappingSuccess; rep.success = MappingSuccess;
UnlockDisplay(dpy); UnlockDisplay(dpy);
......
...@@ -94,7 +94,7 @@ XStoreBuffer ( ...@@ -94,7 +94,7 @@ XStoreBuffer (
{ {
if ((buffer < 0) || (buffer > 7)) return 0; if ((buffer < 0) || (buffer > 7)) return 0;
return XChangeProperty(dpy, RootWindow(dpy, 0), n_to_atom[buffer], return XChangeProperty(dpy, RootWindow(dpy, 0), n_to_atom[buffer],
XA_STRING, 8, PropModeReplace, (unsigned char *) bytes, nbytes); XA_STRING, 8, PropModeReplace, (_Xconst unsigned char *) bytes, nbytes);
} }
int int
......
...@@ -37,7 +37,7 @@ XStoreName ( ...@@ -37,7 +37,7 @@ XStoreName (
_Xconst char *name) _Xconst char *name)
{ {
return XChangeProperty(dpy, w, XA_WM_NAME, XA_STRING, return XChangeProperty(dpy, w, XA_WM_NAME, XA_STRING,
8, PropModeReplace, (unsigned char *)name, 8, PropModeReplace, (_Xconst unsigned char *)name,
name ? strlen(name) : 0); name ? strlen(name) : 0);
} }
...@@ -47,7 +47,7 @@ XSetIconName ( ...@@ -47,7 +47,7 @@ XSetIconName (
Window w, Window w,
_Xconst char *icon_name) _Xconst char *icon_name)
{ {
return XChangeProperty(dpy, w, XA_WM_ICON_NAME, XA_STRING, return XChangeProperty(dpy, w, XA_WM_ICON_NAME, XA_STRING, 8,
8, PropModeReplace, (unsigned char *)icon_name, PropModeReplace, (_Xconst unsigned char *)icon_name,
icon_name ? strlen(icon_name) : 0); icon_name ? strlen(icon_name) : 0);
} }
...@@ -3852,7 +3852,7 @@ void _Xbcopy(b1, b2, length) ...@@ -3852,7 +3852,7 @@ void _Xbcopy(b1, b2, length)
#ifdef DataRoutineIsProcedure #ifdef DataRoutineIsProcedure
void Data( void Data(
Display *dpy, Display *dpy,
char *data, _Xconst char *data,
long len) long len)
{ {
if (dpy->bufptr + (len) <= dpy->bufmax) { if (dpy->bufptr + (len) <= dpy->bufmax) {
...@@ -3869,7 +3869,7 @@ void Data( ...@@ -3869,7 +3869,7 @@ void Data(
int int
_XData32( _XData32(
Display *dpy, Display *dpy,
register long *data, register _Xconst long *data,
unsigned len) unsigned len)
{ {
register int *buf; register int *buf;
......
...@@ -620,14 +620,14 @@ extern void _XFlushGCCache(Display *dpy, GC gc); ...@@ -620,14 +620,14 @@ extern void _XFlushGCCache(Display *dpy, GC gc);
(void)ptr; \ (void)ptr; \
dpy->bufptr += (n); dpy->bufptr += (n);
#define Data16(dpy, data, len) Data((dpy), (char *)(data), (len)) #define Data16(dpy, data, len) Data((dpy), (_Xconst char *)(data), (len))
#define _XRead16Pad(dpy, data, len) _XReadPad((dpy), (char *)(data), (len)) #define _XRead16Pad(dpy, data, len) _XReadPad((dpy), (char *)(data), (len))
#define _XRead16(dpy, data, len) _XRead((dpy), (char *)(data), (len)) #define _XRead16(dpy, data, len) _XRead((dpy), (char *)(data), (len))
#ifdef LONG64 #ifdef LONG64
#define Data32(dpy, data, len) _XData32(dpy, (long *)data, len) #define Data32(dpy, data, len) _XData32(dpy, (_Xconst long *)data, len)
extern int _XData32( extern int _XData32(
Display *dpy, Display *dpy,
register long *data, register _Xconst long *data,
unsigned len unsigned len
); );
extern void _XRead32( extern void _XRead32(
...@@ -636,7 +636,7 @@ extern void _XRead32( ...@@ -636,7 +636,7 @@ extern void _XRead32(
long len long len
); );
#else #else
#define Data32(dpy, data, len) Data((dpy), (char *)(data), (len)) #define Data32(dpy, data, len) Data((dpy), (_Xconst char *)(data), (len))
#define _XRead32(dpy, data, len) _XRead((dpy), (char *)(data), (len)) #define _XRead32(dpy, data, len) _XRead((dpy), (char *)(data), (len))
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment