[PATCH:libICE 0/6] gcc -Wwrite-strings warning fixes
Jeremy Huddleston
jeremyhu at apple.com
Thu Nov 10 23:19:27 PST 2011
It's nice to see more of our codebase starting to make use of language features introduced 20 years ago... ;)
Reviewed-by: Jeremy Huddleston <jeremyhu at apple.com>
On Nov 9, 2011, at 10:19 PM, Alan Coopersmith wrote:
> plus a bonus cleanup of ancient cruft noticed in the process.
>
> Changes the definition of one public API function to take const char *
> arguments instead of char *, otherwise all changes are internal API or
> local functions only.
>
> Before this series, there were 62 -Wwrite-strings warnings in libICE.
>
> After this series, there remain 3 unfixed -Wwrite-strings warnings,
> which need more investigation - if anyone feels like pitching in,
> please feel free to do so:
>
> process.c: In function 'ProcessError':
> process.c:718:23: warning: initialization discards qualifiers from pointer target type
>
> char *errorStr = "";
>
> errorStr has to be non-const since it's returned to the caller via
> errorReply->error_message, and the caller is responsible for freeing it.
> I'm not sure if this should be replaced by setting the pointer to NULL
> or to strdup(""), but we'd only want to do the strdup in the default case
> of the switch statement that follows so we didn't leak in the other cases
> that overwrite errorStr, and I'm not sure if even then it's needed.
>
> process.c: In function 'ProcessConnectionReply':
> process.c:1794:32: warning: assignment discards qualifiers from pointer target type
> process.c: In function 'ProcessProtocolReply':
> process.c:2298:32: warning: assignment discards qualifiers from pointer target type
>
> Both of these are:
>
> errorReply->error_message =
> "Received bad version index in Connection Reply";
>
> I think this might be a bug, especially if the caller tries to free, but
> I haven't walked back through the code path to find out.
>
> Alan Coopersmith (6):
> Fix gcc -Wwrite-strings warnings in _IceDefaultErrorHandler
> Fix gcc -Wwrite-strings warnings in _IceError* functions
> constify arguments to IceGetAuthFileEntry
> Fix gcc -Wwrite-strings warnings in AuthNames handling
> Fix gcc -Wwrite-strings warnings in process.c
> Remove ancient workaround for System V/386 Release 4.2 compiler bug
>
> doc/ICElib.xml | 6 ++--
> include/X11/ICE/ICEutil.h | 6 ++--
> src/ICElibint.h | 36 +++++++++++++++++-----------------
> src/authutil.c | 6 ++--
> src/error.c | 45 ++++++++++++++++++++++---------------------
> src/getauth.c | 40 +++++++++++++++++++-------------------
> src/globals.h | 2 +-
> src/process.c | 47 +++++++++++++++++++-------------------------
> src/protosetup.c | 2 +-
> 9 files changed, 92 insertions(+), 98 deletions(-)
>
> --
> 1.7.3.2
>
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
>
More information about the xorg-devel
mailing list