# HG changeset patch # User ranma # Date 1299705505 0 # Node ID baf42f6f5518c302bc29ef352feecc91c15a37fe # Parent 0dc9d64cd64ef0e9e44e42f08aace348912f8bfc Use memmove when source and destination can overlap. diff -r 0dc9d64cd64e -r baf42f6f5518 mencoder.c --- a/mencoder.c Wed Mar 09 15:36:10 2011 +0000 +++ b/mencoder.c Wed Mar 09 21:18:25 2011 +0000 @@ -300,7 +300,7 @@ fast_memcpy(buffer+size,sh_audio->a_out_buffer,len); sh_audio->a_out_buffer_len-=len; size+=len; if(sh_audio->a_out_buffer_len>0) - fast_memcpy(sh_audio->a_out_buffer,&sh_audio->a_out_buffer[len],sh_audio->a_out_buffer_len); + memmove(sh_audio->a_out_buffer,&sh_audio->a_out_buffer[len],sh_audio->a_out_buffer_len); } return size; } @@ -1382,7 +1382,7 @@ mux_a->wf->nAvgBytesPerSec=0.5f+(double)mux_a->size/a_muxer_time; // avg bps (VBR) if(mux_a->buffer_len>=len){ mux_a->buffer_len-=len; - fast_memcpy(mux_a->buffer,mux_a->buffer+len,mux_a->buffer_len); + memmove(mux_a->buffer,mux_a->buffer+len,mux_a->buffer_len); }