]> asedeno.scripts.mit.edu Git - PuTTY.git/commit - unix/unix.h
Giant const-correctness patch of doom!
authorSimon Tatham <anakin@pobox.com>
Fri, 15 May 2015 10:15:42 +0000 (11:15 +0100)
committerSimon Tatham <anakin@pobox.com>
Fri, 15 May 2015 11:47:44 +0000 (12:47 +0100)
commit89da2ddf564a93414ee9ab2df3f053608094e417
tree01e88d6ffce7ad2d0afac29e8536b8a33917e512
parentfb4fbe11588d3e53be99909f57dd179d1105aaf5
Giant const-correctness patch of doom!

Having found a lot of unfixed constness issues in recent development,
I thought perhaps it was time to get proactive, so I compiled the
whole codebase with -Wwrite-strings. That turned up a huge load of
const problems, which I've fixed in this commit: the Unix build now
goes cleanly through with -Wwrite-strings, and the Windows build is as
close as I could get it (there are some lingering issues due to
occasional Windows API functions like AcquireCredentialsHandle not
having the right constness).

Notable fallout beyond the purely mechanical changing of types:
 - the stuff saved by cmdline_save_param() is now explicitly
   dupstr()ed, and freed in cmdline_run_saved.
 - I couldn't make both string arguments to cmdline_process_param()
   const, because it intentionally writes to one of them in the case
   where it's the argument to -pw (in the vain hope of being at least
   slightly friendly to 'ps'), so elsewhere I had to temporarily
   dupstr() something for the sake of passing it to that function
 - I had to invent a silly parallel version of const_cmp() so I could
   pass const string literals in to lookup functions.
 - stripslashes() in pscp.c and psftp.c has the annoying strchr nature
65 files changed:
cmdgen.c
cmdline.c
conf.c
config.c
dialog.c
dialog.h
import.c
ldisc.c
ldiscucs.c
logging.c
macosx/osxctrls.m
macosx/osxdlg.m
macosx/osxmain.m
macosx/osxwin.m
misc.c
network.h
proxy.c
proxy.h
pscp.c
psftp.c
psftp.h
putty.h
raw.c
rlogin.c
settings.c
sftp.c
sftp.h
ssh.c
ssh.h
sshbn.c
sshpubk.c
telnet.c
terminal.c
unix/gtkask.c
unix/gtkdlg.c
unix/gtkfont.c
unix/gtkwin.c
unix/unix.h
unix/uxcons.c
unix/uxmisc.c
unix/uxnet.c
unix/uxpgnt.c
unix/uxplink.c
unix/uxproxy.c
unix/uxpterm.c
unix/uxpty.c
unix/uxputty.c
unix/uxser.c
unix/uxsftp.c
unix/uxucs.c
windows/wincons.c
windows/winctrls.c
windows/window.c
windows/wingss.c
windows/winmisc.c
windows/winnet.c
windows/winpgen.c
windows/winpgnt.c
windows/winplink.c
windows/winproxy.c
windows/winser.c
windows/winsftp.c
windows/winucs.c
windows/winutils.c
x11fwd.c