diff options
author | Damien <damien.p.george@gmail.com> | 2013-10-20 17:42:00 +0100 |
---|---|---|
committer | Damien <damien.p.george@gmail.com> | 2013-10-20 17:42:00 +0100 |
commit | fa2162bc77b22fd135fd059219191ac91449b3fa (patch) | |
tree | 07f29c54a32a3b3650917cd22a99184f1aa242e0 /stm/string0.c | |
parent | 27fb45eb1c95f9cc02f4ed1b9d573ece0d4c1a18 (diff) |
Integrate new lexer stream with stm framework.
Diffstat (limited to 'stm/string0.c')
-rw-r--r-- | stm/string0.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/stm/string0.c b/stm/string0.c index 6e2c252ea..2a5f25597 100644 --- a/stm/string0.c +++ b/stm/string0.c @@ -11,6 +11,21 @@ void *memcpy(void *dest, const void *src, size_t n) { return dest; } +void *memmove(void *dest, const void *src, size_t n) { + if (src < dest && dest < src + n) { + // need to copy backwards + uint8_t *d = dest + n - 1; + const uint8_t *s = src + n - 1; + for (; n > 0; n--) { + *d-- = *s--; + } + return dest; + } else { + // can use normal memcpy + return memcpy(dest, src, n); + } +} + void *memset(void *s, int c, size_t n) { uint8_t *s2 = s; for (; n > 0; n--) { |