You need to sign in or sign up before continuing.
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