Use memmove instead of memcpy for overlapping areas

Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Edgar Toernig 2006-10-30 17:44:27 -08:00 committed by Junio C Hamano
parent 6dcfa306f2
commit 79a65697be
2 changed files with 4 additions and 4 deletions

View file

@ -22,7 +22,7 @@ static SHA_CTX ctx;
* Make sure at least "min" bytes are available in the buffer, and
* return the pointer to the buffer.
*/
static void * fill(int min)
static void *fill(int min)
{
if (min <= len)
return buffer + offset;
@ -30,7 +30,7 @@ static void * fill(int min)
die("cannot fill %d bytes", min);
if (offset) {
SHA1_Update(&ctx, buffer, offset);
memcpy(buffer, buffer + offset, len);
memmove(buffer, buffer + offset, len);
offset = 0;
}
do {

View file

@ -53,7 +53,7 @@ static int input_fd;
* Make sure at least "min" bytes are available in the buffer, and
* return the pointer to the buffer.
*/
static void * fill(int min)
static void *fill(int min)
{
if (min <= input_len)
return input_buffer + input_offset;
@ -61,7 +61,7 @@ static void * fill(int min)
die("cannot fill %d bytes", min);
if (input_offset) {
SHA1_Update(&input_ctx, input_buffer, input_offset);
memcpy(input_buffer, input_buffer + input_offset, input_len);
memmove(input_buffer, input_buffer + input_offset, input_len);
input_offset = 0;
}
do {