forked from mirrors/tftp-hpa-google
		
	Support "constipation" -- compile cleanly with -Wwrite-strings
This commit is contained in:
		
							parent
							
								
									9b5b8c5640
								
							
						
					
					
						commit
						5b0cb11445
					
				
					 5 changed files with 62 additions and 46 deletions
				
			
		|  | @ -19,7 +19,7 @@ PA_ADD_CFLAGS(-Wmissing-prototypes) | |||
| PA_ADD_CFLAGS(-Wmissing-declarations) | ||||
| PA_ADD_CFLAGS(-Wnested-externs) | ||||
| PA_ADD_CFLAGS(-Winline) | ||||
| PA_ADD_CFLAGS(-Wcast-align) | ||||
| PA_ADD_CFLAGS(-Wwrite-strings) | ||||
| PA_ADD_CFLAGS(-pipe) | ||||
| 
 | ||||
| AC_CHECK_HEADERS(sysexits.h) | ||||
|  |  | |||
							
								
								
									
										90
									
								
								tftp/main.c
									
										
									
									
									
								
							
							
						
						
									
										90
									
								
								tftp/main.c
									
										
									
									
									
								
							|  | @ -89,7 +89,7 @@ char	mode[32]; | |||
| char	line[LBUFLEN]; | ||||
| int	margc; | ||||
| char	*margv[20]; | ||||
| char	*prompt = "tftp"; | ||||
| const char *prompt = "tftp"; | ||||
| sigjmp_buf	toplevel; | ||||
| void	intr(int); | ||||
| struct	servent *sp; | ||||
|  | @ -113,45 +113,60 @@ static void command (void); | |||
| static void getusage (char *); | ||||
| static void makeargv (void); | ||||
| static void putusage (char *); | ||||
| static void settftpmode (char *); | ||||
| static void settftpmode (const char *); | ||||
| 
 | ||||
| #define HELPINDENT (sizeof("connect")) | ||||
| 
 | ||||
| struct cmd { | ||||
| 	char	*name; | ||||
| 	char	*help; | ||||
| 	const char *name; | ||||
| 	const char *help; | ||||
| 	void	(*handler) (int, char **); | ||||
| }; | ||||
| 
 | ||||
| char	vhelp[] = "toggle verbose mode"; | ||||
| char	thelp[] = "toggle packet tracing"; | ||||
| char	chelp[] = "connect to remote tftp"; | ||||
| char	qhelp[] = "exit tftp"; | ||||
| char	hhelp[] = "print help information"; | ||||
| char	shelp[] = "send file"; | ||||
| char	rhelp[] = "receive file"; | ||||
| char	mhelp[] = "set file transfer mode"; | ||||
| char	sthelp[] = "show current status"; | ||||
| char	xhelp[] = "set per-packet retransmission timeout"; | ||||
| char	ihelp[] = "set total retransmission timeout"; | ||||
| char    ashelp[] = "set mode to netascii"; | ||||
| char    bnhelp[] = "set mode to octet"; | ||||
| 
 | ||||
| struct cmd cmdtab[] = { | ||||
| 	{ "connect",	chelp,		setpeer }, | ||||
| 	{ "mode",       mhelp,          modecmd }, | ||||
| 	{ "put",	shelp,		put }, | ||||
| 	{ "get",	rhelp,		get }, | ||||
| 	{ "quit",	qhelp,		quit }, | ||||
| 	{ "verbose",	vhelp,		setverbose }, | ||||
| 	{ "trace",	thelp,		settrace }, | ||||
| 	{ "status",	sthelp,		status }, | ||||
| 	{ "binary",     bnhelp,         setbinary }, | ||||
| 	{ "ascii",      ashelp,         setascii }, | ||||
| 	{ "rexmt",	xhelp,		setrexmt }, | ||||
| 	{ "timeout",	ihelp,		settimeout }, | ||||
| 	{ "?",		hhelp,		help }, | ||||
| 	{ 0, 0, 0 } | ||||
|   { "connect", | ||||
|     "connect to remote tftp", | ||||
|     setpeer }, | ||||
|   { "mode", | ||||
|     "set file transfer mode", | ||||
|     modecmd }, | ||||
|   { "put", | ||||
|     "send file", | ||||
|     put }, | ||||
|   { "get", | ||||
|     "receive file", | ||||
|     get }, | ||||
|   { "quit", | ||||
|     "exit tftp", | ||||
|     quit }, | ||||
|   { "verbose", | ||||
|     "toggle verbose mode", | ||||
|     setverbose }, | ||||
|   { "trace", | ||||
|     "toggle packet tracing", | ||||
|     settrace }, | ||||
|   { "status", | ||||
|     "show current status", | ||||
|     status }, | ||||
|   { "binary", | ||||
|     "set mode to octet", | ||||
|     setbinary }, | ||||
|   { "ascii", | ||||
|     "set mode to netascii", | ||||
|     setascii }, | ||||
|   { "rexmt", | ||||
|     "set per-packet transmission timeout", | ||||
|     setrexmt }, | ||||
|   { "timeout", | ||||
|     "set total retransmission timeout", | ||||
|     settimeout }, | ||||
|   { "?", | ||||
|     "print help information", | ||||
|     help }, | ||||
|   { "help", | ||||
|     "print help information", | ||||
|     help }, | ||||
|   { 0, 0, 0 } | ||||
| }; | ||||
| 
 | ||||
| struct	cmd *getcmd(char *); | ||||
|  | @ -242,8 +257,8 @@ setpeer(int argc, char *argv[]) | |||
| } | ||||
| 
 | ||||
| struct	modes { | ||||
| 	char *m_name; | ||||
| 	char *m_mode; | ||||
|   const char *m_name; | ||||
|   const char *m_mode; | ||||
| } modes[] = { | ||||
| 	{ "ascii",	"netascii" }, | ||||
| 	{ "netascii",   "netascii" }, | ||||
|  | @ -258,7 +273,7 @@ void | |||
| modecmd(int argc, char *argv[]) | ||||
| { | ||||
| 	struct modes *p; | ||||
| 	char *sep; | ||||
| 	const char *sep; | ||||
| 
 | ||||
| 	if (argc < 2) { | ||||
| 		printf("Using %s mode to transfer files.\n", mode); | ||||
|  | @ -302,7 +317,7 @@ setascii(int argc, char *argv[]) | |||
| } | ||||
| 
 | ||||
| static void | ||||
| settftpmode(char *newmode) | ||||
| settftpmode(const char *newmode) | ||||
| { | ||||
| 	strcpy(mode, newmode); | ||||
| 	if (verbose) | ||||
|  | @ -615,7 +630,8 @@ command(void) | |||
| struct cmd * | ||||
| getcmd(char *name) | ||||
| { | ||||
| 	char *p, *q; | ||||
| 	const char *p; | ||||
| 	char *q; | ||||
| 	struct cmd *c, *found; | ||||
| 	int nmatches, longest; | ||||
| 
 | ||||
|  |  | |||
|  | @ -336,7 +336,7 @@ makerequest(int request, const char *name, | |||
| 
 | ||||
| struct errmsg { | ||||
| 	int	e_code; | ||||
| 	char	*e_msg; | ||||
| 	const char *e_msg; | ||||
| } errmsgs[] = { | ||||
| 	{ EUNDEF,	"Undefined error code" }, | ||||
| 	{ ENOTFOUND,	"File not found" }, | ||||
|  | @ -385,7 +385,7 @@ nak(int error) | |||
| static void | ||||
| tpacket(const char *s, struct tftphdr *tp, int n) | ||||
| { | ||||
| 	static char *opcodes[] = | ||||
| 	static const char *opcodes[] = | ||||
| 	   { "#0", "RRQ", "WRQ", "DATA", "ACK", "ERROR", "OACK" }; | ||||
| 	char *cp, *file; | ||||
| 	u_short op = ntohs(tp->th_opcode); | ||||
|  |  | |||
|  | @ -42,7 +42,7 @@ struct rule { | |||
|   int nrule; | ||||
|   int rule_flags; | ||||
|   regex_t rx; | ||||
|   char *pattern; | ||||
|   const char *pattern; | ||||
| }; | ||||
| 
 | ||||
| /* Do \-substitution.  Call with string == NULL to get length only. */ | ||||
|  | @ -251,7 +251,7 @@ void freerules(struct rule *r) | |||
| 
 | ||||
|     /* "" patterns aren't allocated by malloc() */ | ||||
|     if ( r->pattern && *r->pattern ) | ||||
|       free(r->pattern); | ||||
|       free((void *)r->pattern); | ||||
|    | ||||
|     free(r); | ||||
| 
 | ||||
|  |  | |||
|  | @ -146,7 +146,7 @@ int set_tsize(char *, char **); | |||
| int set_timeout(char *, char **); | ||||
| 
 | ||||
| struct options { | ||||
|   char    *o_opt; | ||||
|   const char    *o_opt; | ||||
|   int     (*o_fnc)(char *, char **); | ||||
| } options[] = { | ||||
|   { "blksize",    set_blksize  }, | ||||
|  | @ -210,7 +210,7 @@ main(int argc, char **argv) | |||
|   int c; | ||||
|   int setrv; | ||||
|   int timeout = 900;		/* Default timeout */ | ||||
|   char *user = "nobody";	/* Default user */ | ||||
|   const char *user = "nobody";	/* Default user */ | ||||
| #ifdef WITH_REGEX | ||||
|   char *rewrite_file = NULL; | ||||
| #endif | ||||
|  | @ -546,7 +546,7 @@ void	sendfile(struct formats *, struct tftphdr *, int); | |||
| void	recvfile(struct formats *, struct tftphdr *, int); | ||||
| 
 | ||||
| struct formats { | ||||
|   char	*f_mode; | ||||
|   const char *f_mode; | ||||
|   char	*(*f_rewrite)(char *, int); | ||||
|   int	(*f_validate)(char *, int, struct formats *); | ||||
|   void	(*f_send)(struct formats *, struct tftphdr *, int); | ||||
|  | @ -1096,7 +1096,7 @@ recvfile(struct formats *pf, struct tftphdr *oap, int oacklen) | |||
| 
 | ||||
| struct errmsg { | ||||
|   int	e_code; | ||||
|   char	*e_msg; | ||||
|   const char *e_msg; | ||||
| } errmsgs[] = { | ||||
|   { EUNDEF,	"Undefined error code" }, | ||||
|   { ENOTFOUND,	"File not found" }, | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 hpa
						hpa