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 */
};
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++ = TFTP_RRQ;
strcpy(buf, filename);
buf += strlen(filename);
memcpy(buf, filename, len);
buf += len;
*buf++ = 0x00;
*buf++ = 'o';
*buf++ = 'c';
@ -30,7 +32,7 @@ static int format_request(char *buf, const char *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++ = TFTP_ACK;
@ -39,7 +41,7 @@ static int format_ack(char *buf, unsigned short block)
return 4;
}
static char *packet_data;
static unsigned char *packet_data;
static int total_length;
static int transfer_finished;
static char *dst_buffer;