diff options
author | Simon Tatham <anakin@pobox.com> | 2015-05-15 13:15:42 +0300 |
---|---|---|
committer | Simon Tatham <anakin@pobox.com> | 2015-05-15 14:47:44 +0300 |
commit | 89da2ddf564a93414ee9ab2df3f053608094e417 (patch) | |
tree | 01e88d6ffce7ad2d0afac29e8536b8a33917e512 /ldisc.c | |
parent | fb4fbe11588d3e53be99909f57dd179d1105aaf5 (diff) |
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
Diffstat (limited to 'ldisc.c')
-rw-r--r-- | ldisc.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -22,7 +22,7 @@ (ldisc->back->ldisc(ldisc->backhandle, LD_EDIT) || \ term_ldisc(ldisc->term, LD_EDIT)))) -static void c_write(Ldisc ldisc, char *buf, int len) +static void c_write(Ldisc ldisc, const char *buf, int len) { from_backend(ldisc->frontend, 0, buf, len); } @@ -134,7 +134,7 @@ void ldisc_echoedit_update(void *handle) frontend_echoedit_update(ldisc->frontend, ECHOING, EDITING); } -void ldisc_send(void *handle, char *buf, int len, int interactive) +void ldisc_send(void *handle, const char *buf, int len, int interactive) { Ldisc ldisc = (Ldisc) handle; int keyflag = 0; |