mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-07-03 20:42:48 -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:
11
unix/unix.h
11
unix/unix.h
@ -84,21 +84,22 @@ void *get_window(void *frontend); /* void * to avoid depending on gtk.h */
|
||||
/* Things pterm.c needs from gtkdlg.c */
|
||||
int do_config_box(const char *title, Conf *conf,
|
||||
int midsession, int protcfginfo);
|
||||
void fatal_message_box(void *window, char *msg);
|
||||
void nonfatal_message_box(void *window, char *msg);
|
||||
void fatal_message_box(void *window, const char *msg);
|
||||
void nonfatal_message_box(void *window, const char *msg);
|
||||
void about_box(void *window);
|
||||
void *eventlogstuff_new(void);
|
||||
void showeventlog(void *estuff, void *parentwin);
|
||||
void logevent_dlg(void *estuff, const char *string);
|
||||
int reallyclose(void *frontend);
|
||||
#ifdef MAY_REFER_TO_GTK_IN_HEADERS
|
||||
int messagebox(GtkWidget *parentwin, char *title, char *msg, int minwid, ...);
|
||||
int string_width(char *text);
|
||||
int messagebox(GtkWidget *parentwin, const char *title,
|
||||
const char *msg, int minwid, ...);
|
||||
int string_width(const char *text);
|
||||
#endif
|
||||
|
||||
/* Things pterm.c needs from {ptermm,uxputty}.c */
|
||||
char *make_default_wintitle(char *hostname);
|
||||
int process_nonoption_arg(char *arg, Conf *conf, int *allow_launch);
|
||||
int process_nonoption_arg(const char *arg, Conf *conf, int *allow_launch);
|
||||
|
||||
/* pterm.c needs this special function in xkeysym.c */
|
||||
int keysym_to_unicode(int keysym);
|
||||
|
Reference in New Issue
Block a user