[PATCH 05/16] scp: const/static correctness improvements

Michael Witten mfwitten at gmail.com
Tue Dec 8 06:55:09 AWST 2015


Date: Wed, 4 Nov 2015 05:37:08 -0000
The variables `*suser' and `*tuser' should be of type `const char' rather
than just `char'. Furthermore, the function `okname' should be declared
as being `static'.

While these changes could be applied to other identifiers, they are valuable
in this commit as preparatory changes for a future commit.
---
 scp.c | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/scp.c b/scp.c
index bb19c8b..9df8fa5 100644
--- a/scp.c
+++ b/scp.c
@@ -172,7 +172,7 @@ do_local_cmd(arglist *a)
  */
 
 static void
-arg_setup(char *host, char *remuser, char *cmd)
+arg_setup(char *host, const char *remuser, char *cmd)
 {
 	replacearg(&args, 0, "%s", ssh_program);
 	if (remuser != NULL) {
@@ -184,7 +184,7 @@ arg_setup(char *host, char *remuser, char *cmd)
 }
 
 int
-do_cmd(char *host, char *remuser, char *cmd, int *fdin, int *fdout, int argc)
+do_cmd(char *host, const char *remuser, char *cmd, int *fdin, int *fdout, int argc)
 {
 	int pin[2], pout[2], reserved[2];
 
@@ -284,7 +284,7 @@ typedef struct {
 BUF *allocbuf(BUF *, int, int);
 void lostconn(int);
 void nospace(void);
-int okname(char *);
+static int okname(const char *);
 void run_err(const char *,...);
 void verifydir(char *);
 
@@ -463,7 +463,8 @@ void
 toremote(char *targ, int argc, char **argv)
 {
 	int i, len;
-	char *bp, *host, *src, *suser, *thost, *tuser, *arg;
+	const char *suser, *tuser;
+	char *bp, *host, *src, *thost, *arg;
 	arglist alist;
 
 	memset(&alist, '\0', sizeof(alist));
@@ -555,7 +556,8 @@ void
 tolocal(int argc, char **argv)
 {
 	int i, len;
-	char *bp, *host, *src, *suser;
+	const char *suser;
+	char *bp, *host, *src;
 	arglist alist;
 
 	memset(&alist, '\0', sizeof(alist));
@@ -1196,11 +1198,11 @@ verifydir(char *cp)
 	killchild(0);
 }
 
-int
-okname(char *cp0)
+static int
+okname(const char *cp0)
 {
 	int c;
-	char *cp;
+	const char *cp;
 
 	cp = cp0;
 	do {
-- 
2.4.3



More information about the Dropbear mailing list