mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-07-04 21:12:47 -05:00
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
This commit is contained in:
@ -50,7 +50,7 @@ struct SockAddrStep_tag {
|
||||
struct Socket_tag {
|
||||
const struct socket_function_table *fn;
|
||||
/* the above variable absolutely *must* be the first in this structure */
|
||||
char *error;
|
||||
const char *error;
|
||||
SOCKET s;
|
||||
Plug plug;
|
||||
bufchain output_data;
|
||||
@ -356,7 +356,7 @@ static int errstring_compare(void *av, void *bv)
|
||||
|
||||
static tree234 *errstrings = NULL;
|
||||
|
||||
char *winsock_error_string(int error)
|
||||
const char *winsock_error_string(int error)
|
||||
{
|
||||
const char prefix[] = "Network error: ";
|
||||
struct errstring *es;
|
||||
@ -1162,8 +1162,8 @@ Socket sk_new(SockAddr addr, int port, int privport, int oobinline,
|
||||
return (Socket) ret;
|
||||
}
|
||||
|
||||
Socket sk_newlistener(char *srcaddr, int port, Plug plug, int local_host_only,
|
||||
int orig_address_family)
|
||||
Socket sk_newlistener(const char *srcaddr, int port, Plug plug,
|
||||
int local_host_only, int orig_address_family)
|
||||
{
|
||||
static const struct socket_function_table fn_table = {
|
||||
sk_tcp_plug,
|
||||
|
Reference in New Issue
Block a user