From 6f451c6445e3ac9cc1e80dfe3cf6c4d3902f0437 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Wed, 22 May 2013 22:57:18 +0200 Subject: [PATCH] Don't try to reinvent memcpy(). --- src/lj_buf.c | 10 +--------- src/lj_buf.h | 8 ++++++-- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/src/lj_buf.c b/src/lj_buf.c index 2a1d7f8e..1786c10d 100644 --- a/src/lj_buf.c +++ b/src/lj_buf.c @@ -57,15 +57,7 @@ char * LJ_FASTCALL lj_buf_tmp(lua_State *L, MSize sz) /* -- Low-level buffer put operations ------------------------------------- */ -/* Write memory block to buffer. */ -char *lj_buf_wmem(char *p, const void *q, MSize len) -{ - const char *s = (const char *)q, *e = s + len; - while (s < e) *p++ = *s++; - return p; -} - -SBuf * lj_buf_putmem(SBuf *sb, const void *q, MSize len) +SBuf *lj_buf_putmem(SBuf *sb, const void *q, MSize len) { char *p = lj_buf_more(sb, len); p = lj_buf_wmem(p, q, len); diff --git a/src/lj_buf.h b/src/lj_buf.h index 951d39fd..5f78c4a9 100644 --- a/src/lj_buf.h +++ b/src/lj_buf.h @@ -66,13 +66,17 @@ static LJ_AINLINE char *lj_buf_more(SBuf *sb, MSize sz) } /* Low-level buffer put operations */ -LJ_FUNC char *lj_buf_wmem(char *p, const void *q, MSize len); -LJ_FUNC SBuf * lj_buf_putmem(SBuf *sb, const void *q, MSize len); +LJ_FUNC SBuf *lj_buf_putmem(SBuf *sb, const void *q, MSize len); #if LJ_HASJIT LJ_FUNC SBuf * LJ_FASTCALL lj_buf_putchar(SBuf *sb, int c); #endif LJ_FUNC SBuf * LJ_FASTCALL lj_buf_putstr(SBuf *sb, GCstr *s); +static LJ_AINLINE char *lj_buf_wmem(char *p, const void *q, MSize len) +{ + return (char *)memcpy(p, q, len) + len; +} + static LJ_AINLINE void lj_buf_putb(SBuf *sb, int c) { char *p = lj_buf_more(sb, 1);