tftp.c: make "packet_data" unsigned and optimize strcpy+strlen

This commit is contained in:
Werner Almesberger 2013-04-16 13:55:23 -03:00 committed by Sebastien Bourdeauducq
parent e0e447f0e0
commit effa71a811
1 changed files with 7 additions and 5 deletions

View File

@ -14,12 +14,14 @@ enum {
TFTP_ERROR = 5, /* Error */ TFTP_ERROR = 5, /* Error */
}; };
static int format_request(char *buf, const char *filename) static int format_request(unsigned char *buf, const char *filename)
{ {
int len = strlen(filename);
*buf++ = 0x00; /* Opcode: Request */ *buf++ = 0x00; /* Opcode: Request */
*buf++ = TFTP_RRQ; *buf++ = TFTP_RRQ;
strcpy(buf, filename); memcpy(buf, filename, len);
buf += strlen(filename); buf += len;
*buf++ = 0x00; *buf++ = 0x00;
*buf++ = 'o'; *buf++ = 'o';
*buf++ = 'c'; *buf++ = 'c';
@ -30,7 +32,7 @@ static int format_request(char *buf, const char *filename)
return 9+strlen(filename); return 9+strlen(filename);
} }
static int format_ack(char *buf, unsigned short block) static int format_ack(unsigned char *buf, unsigned short block)
{ {
*buf++ = 0x00; /* Opcode: Ack */ *buf++ = 0x00; /* Opcode: Ack */
*buf++ = TFTP_ACK; *buf++ = TFTP_ACK;
@ -39,7 +41,7 @@ static int format_ack(char *buf, unsigned short block)
return 4; return 4;
} }
static char *packet_data; static unsigned char *packet_data;
static int total_length; static int total_length;
static int transfer_finished; static int transfer_finished;
static char *dst_buffer; static char *dst_buffer;