mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-07-02 03:52:49 -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:
20
sftp.h
20
sftp.h
@ -125,14 +125,14 @@ int fxp_init(void);
|
||||
* Canonify a pathname. Concatenate the two given path elements
|
||||
* with a separating slash, unless the second is NULL.
|
||||
*/
|
||||
struct sftp_request *fxp_realpath_send(char *path);
|
||||
struct sftp_request *fxp_realpath_send(const char *path);
|
||||
char *fxp_realpath_recv(struct sftp_packet *pktin, struct sftp_request *req);
|
||||
|
||||
/*
|
||||
* Open a file. 'attrs' contains attributes to be applied to the file
|
||||
* if it's being created.
|
||||
*/
|
||||
struct sftp_request *fxp_open_send(char *path, int type,
|
||||
struct sftp_request *fxp_open_send(const char *path, int type,
|
||||
struct fxp_attrs *attrs);
|
||||
struct fxp_handle *fxp_open_recv(struct sftp_packet *pktin,
|
||||
struct sftp_request *req);
|
||||
@ -140,7 +140,7 @@ struct fxp_handle *fxp_open_recv(struct sftp_packet *pktin,
|
||||
/*
|
||||
* Open a directory.
|
||||
*/
|
||||
struct sftp_request *fxp_opendir_send(char *path);
|
||||
struct sftp_request *fxp_opendir_send(const char *path);
|
||||
struct fxp_handle *fxp_opendir_recv(struct sftp_packet *pktin,
|
||||
struct sftp_request *req);
|
||||
|
||||
@ -153,31 +153,32 @@ void fxp_close_recv(struct sftp_packet *pktin, struct sftp_request *req);
|
||||
/*
|
||||
* Make a directory.
|
||||
*/
|
||||
struct sftp_request *fxp_mkdir_send(char *path);
|
||||
struct sftp_request *fxp_mkdir_send(const char *path);
|
||||
int fxp_mkdir_recv(struct sftp_packet *pktin, struct sftp_request *req);
|
||||
|
||||
/*
|
||||
* Remove a directory.
|
||||
*/
|
||||
struct sftp_request *fxp_rmdir_send(char *path);
|
||||
struct sftp_request *fxp_rmdir_send(const char *path);
|
||||
int fxp_rmdir_recv(struct sftp_packet *pktin, struct sftp_request *req);
|
||||
|
||||
/*
|
||||
* Remove a file.
|
||||
*/
|
||||
struct sftp_request *fxp_remove_send(char *fname);
|
||||
struct sftp_request *fxp_remove_send(const char *fname);
|
||||
int fxp_remove_recv(struct sftp_packet *pktin, struct sftp_request *req);
|
||||
|
||||
/*
|
||||
* Rename a file.
|
||||
*/
|
||||
struct sftp_request *fxp_rename_send(char *srcfname, char *dstfname);
|
||||
struct sftp_request *fxp_rename_send(const char *srcfname,
|
||||
const char *dstfname);
|
||||
int fxp_rename_recv(struct sftp_packet *pktin, struct sftp_request *req);
|
||||
|
||||
/*
|
||||
* Return file attributes.
|
||||
*/
|
||||
struct sftp_request *fxp_stat_send(char *fname);
|
||||
struct sftp_request *fxp_stat_send(const char *fname);
|
||||
int fxp_stat_recv(struct sftp_packet *pktin, struct sftp_request *req,
|
||||
struct fxp_attrs *attrs);
|
||||
struct sftp_request *fxp_fstat_send(struct fxp_handle *handle);
|
||||
@ -187,7 +188,8 @@ int fxp_fstat_recv(struct sftp_packet *pktin, struct sftp_request *req,
|
||||
/*
|
||||
* Set file attributes.
|
||||
*/
|
||||
struct sftp_request *fxp_setstat_send(char *fname, struct fxp_attrs attrs);
|
||||
struct sftp_request *fxp_setstat_send(const char *fname,
|
||||
struct fxp_attrs attrs);
|
||||
int fxp_setstat_recv(struct sftp_packet *pktin, struct sftp_request *req);
|
||||
struct sftp_request *fxp_fsetstat_send(struct fxp_handle *handle,
|
||||
struct fxp_attrs attrs);
|
||||
|
Reference in New Issue
Block a user