coco3: fix scroll_down().
authorBrett Gordon <beretta42@gmail.com>
Wed, 25 May 2016 13:19:42 +0000 (09:19 -0400)
committerBrett Gordon <beretta42@gmail.com>
Thu, 26 May 2016 15:09:54 +0000 (11:09 -0400)
Kernel/platform-coco3/video.c

index 190d0bf..db0aff2 100644 (file)
@@ -81,7 +81,13 @@ void clear_across(int8_t y, int8_t x, int16_t l)
        map_for_kernel();
 }
 
-/* FIXME: these should use memmove */
+static void rmemcpy( unsigned char *dest, unsigned char *src, size_t n )
+{
+       unsigned char *d=dest+n;
+       unsigned char *s=src+n;
+       while( s != src )
+               *--d = *--s;
+}
 
 void scroll_up(void)
 {
@@ -94,7 +100,7 @@ void scroll_up(void)
 void scroll_down(void)
 {
        map_for_video();
-       memcpy(curpty->base + VT_WIDTH*2, curpty->base,
+       rmemcpy(curpty->base + VT_WIDTH*2, curpty->base,
               VT_WIDTH*2 * VT_BOTTOM);
        map_for_kernel();
 }