Almost all of the places the string is assigned point to a literal
string constant, so use const char * for those, and const char **
for function calls that return it via an argument.   Fortunately
the top level function, ClientAuthorized, which returns the string
as its return value is called from only one place, ProcEstablishConnection.

ProcEstablishConnection stores either that return value or a string literal
in char *reason.  It only uses reason as an argument to SendConnSetup.
SendConnSetup passes the reason argument to strlen & WriteToClient,
both of which already have const qualifiers on their args.
Thus added const to the reason variable in ProcEstablishConnection
and the reason argument to SendConnSetup.

Fixes gcc warnings:
dispatch.c: In function 'ProcEstablishConnection':
dispatch.c:3711:9: warning: assignment discards qualifiers from pointer target 
type
auth.c: In function 'CheckAuthorization':
auth.c:218:14: warning: assignment discards qualifiers from pointer target type
auth.c:220:20: warning: assignment discards qualifiers from pointer target type
connection.c: In function 'ClientAuthorized':
connection.c:683:3: warning: return discards qualifiers from pointer target type
mitauth.c: In function 'MitCheckCookie':
mitauth.c:88:13: warning: assignment discards qualifiers from pointer target 
type
xdmauth.c:259:14: warning: assignment discards qualifiers from pointer target 
type
xdmauth.c:270:14: warning: assignment discards qualifiers from pointer target 
type
xdmauth.c:277:11: warning: assignment discards qualifiers from pointer target 
type
xdmauth.c:293:15: warning: assignment discards qualifiers from pointer target 
type
xdmauth.c:313:14: warning: assignment discards qualifiers from pointer target 
type
xdmauth.c:322:11: warning: assignment discards qualifiers from pointer target 
type
rpcauth.c: In function 'SecureRPCCheck':
rpcauth.c:136:10: warning: assignment discards qualifiers from pointer target 
type

Signed-off-by: Alan Coopersmith <[email protected]>
---
 dix/dispatch.c  |    5 +++--
 include/os.h    |    4 ++--
 os/auth.c       |    2 +-
 os/connection.c |    4 ++--
 os/mitauth.c    |    2 +-
 os/osdep.h      |    2 +-
 os/rpcauth.c    |    2 +-
 os/xdmauth.c    |    4 ++--
 8 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/dix/dispatch.c b/dix/dispatch.c
index b39271f..048dff6 100644
--- a/dix/dispatch.c
+++ b/dix/dispatch.c
@@ -3600,7 +3600,7 @@ ProcInitialConnection(ClientPtr client)
 }
 
 static int
-SendConnSetup(ClientPtr client, char *reason)
+SendConnSetup(ClientPtr client, const char *reason)
 {
     xWindowRoot *root;
     int i;
@@ -3699,7 +3699,8 @@ SendConnSetup(ClientPtr client, char *reason)
 int
 ProcEstablishConnection(ClientPtr client)
 {
-    char *reason, *auth_proto, *auth_string;
+    const char *reason;
+    char *auth_proto, *auth_string;
     xConnClientPrefix *prefix;
     REQUEST(xReq);
 
diff --git a/include/os.h b/include/os.h
index 0b50241..48ce329 100644
--- a/include/os.h
+++ b/include/os.h
@@ -127,7 +127,7 @@ extern _X_EXPORT void CloseWellKnownConnections(void);
 
 extern _X_EXPORT XID AuthorizationIDOfClient(ClientPtr /*client*/);
 
-extern _X_EXPORT char *ClientAuthorized(
+extern _X_EXPORT const char *ClientAuthorized(
     ClientPtr /*client*/,
     unsigned int /*proto_n*/,
     char* /*auth_proto*/,
@@ -415,7 +415,7 @@ extern _X_EXPORT XID CheckAuthorization(
     unsigned int /*datalength*/,
     const char * /*data*/,
     ClientPtr /*client*/,
-    char ** /*reason*/
+    const char ** /*reason*/
 );
 
 extern _X_EXPORT void ResetAuthorization(void);
diff --git a/os/auth.c b/os/auth.c
index 9d36249..6669c14 100644
--- a/os/auth.c
+++ b/os/auth.c
@@ -163,7 +163,7 @@ CheckAuthorization (
     unsigned int data_length,
     const char *data,
     ClientPtr client,
-    char       **reason)       /* failure message.  NULL for default msg */
+    const char **reason)       /* failure message.  NULL for default msg */
 {
     int        i;
     struct stat buf;
diff --git a/os/connection.c b/os/connection.c
index 6f480de..8a677a7 100644
--- a/os/connection.c
+++ b/os/connection.c
@@ -629,7 +629,7 @@ AuthorizationIDOfClient(ClientPtr client)
  *
  *****************************************************************/
 
-char *
+const char *
 ClientAuthorized(ClientPtr client, 
     unsigned int proto_n, char *auth_proto, 
     unsigned int string_n, char *auth_string)
@@ -639,7 +639,7 @@ ClientAuthorized(ClientPtr client,
     int                family;
     int                        fromlen;
     XID                        auth_id;
-    char               *reason = NULL;
+    const char         *reason = NULL;
     XtransConnInfo     trans_conn;
 
     priv = (OsCommPtr)client->osPrivate;
diff --git a/os/mitauth.c b/os/mitauth.c
index 4b8f6e9..477736e 100644
--- a/os/mitauth.c
+++ b/os/mitauth.c
@@ -76,7 +76,7 @@ MitCheckCookie (
     unsigned short     data_length,
     const char         *data,
     ClientPtr          client,
-    char               **reason)
+    const char         **reason)
 {
     struct auth        *auth;
 
diff --git a/os/osdep.h b/os/osdep.h
index 72bd7d7..71a7e44 100644
--- a/os/osdep.h
+++ b/os/osdep.h
@@ -137,7 +137,7 @@ typedef void (*AuthInitFunc) (AuthInitArgs);
 #define AuthAddCArgs unsigned short data_length, const char *data, XID id
 typedef int (*AuthAddCFunc) (AuthAddCArgs);
 
-#define AuthCheckArgs unsigned short data_length, const char *data, ClientPtr 
client, char **reason
+#define AuthCheckArgs unsigned short data_length, const char *data, ClientPtr 
client, const char **reason
 typedef XID (*AuthCheckFunc) (AuthCheckArgs);
 
 #define AuthFromIDArgs XID id, unsigned short *data_lenp, char **datap
diff --git a/os/rpcauth.c b/os/rpcauth.c
index 989a49a..63b97b6 100644
--- a/os/rpcauth.c
+++ b/os/rpcauth.c
@@ -128,7 +128,7 @@ static char rpc_error[MAXNETNAMELEN+50];
 
 _X_HIDDEN XID
 SecureRPCCheck (unsigned short data_length, const char *data,
-    ClientPtr client, char **reason)
+    ClientPtr client, const char **reason)
 {
     char *fullname;
     
diff --git a/os/xdmauth.c b/os/xdmauth.c
index b8cbada..733fda5 100644
--- a/os/xdmauth.c
+++ b/os/xdmauth.c
@@ -248,7 +248,7 @@ XdmClientAuthTimeout (long now)
 
 static XdmClientAuthPtr
 XdmAuthorizationValidate (unsigned char *plain, int length, 
-    XdmAuthKeyPtr rho, ClientPtr xclient, char **reason)
+    XdmAuthKeyPtr rho, ClientPtr xclient, const char **reason)
 {
     XdmClientAuthPtr   client, existing;
     long               now;
@@ -376,7 +376,7 @@ XdmAddCookie (unsigned short data_length, const char *data, 
XID id)
 
 XID
 XdmCheckCookie (unsigned short cookie_length, const char *cookie,
-    ClientPtr xclient, char **reason)
+    ClientPtr xclient, const char **reason)
 {
     XdmAuthorizationPtr        auth;
     XdmClientAuthPtr   client;
-- 
1.7.3.2

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to