Magellan Linux

Diff of /trunk/mkinitrd-magellan/klibc/usr/klibc/memmove.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 814 by niro, Sat Sep 1 22:45:15 2007 UTC revision 815 by niro, Fri Apr 24 18:32:46 2009 UTC
# Line 10  void *memmove(void *dst, const void *src Line 10  void *memmove(void *dst, const void *src
10   char *q = dst;   char *q = dst;
11  #if defined(__i386__) || defined(__x86_64__)  #if defined(__i386__) || defined(__x86_64__)
12   if (q < p) {   if (q < p) {
13   asm volatile("cld ; rep ; movsb"   asm volatile("cld; rep; movsb"
14       : "+c" (n), "+S"(p), "+D"(q));       : "+c" (n), "+S"(p), "+D"(q));
15   } else {   } else {
16   p += (n - 1);   p += (n - 1);
17   q += (n - 1);   q += (n - 1);
18   asm volatile("std ; rep ; movsb"   asm volatile("std; rep; movsb; cld"
19       : "+c" (n), "+S"(p), "+D"(q));       : "+c" (n), "+S"(p), "+D"(q));
20   }   }
21  #else  #else

Legend:
Removed from v.814  
changed lines
  Added in v.815