diff options
author | Maurus Cuelenaere <mcuelenaere@gmail.com> | 2009-07-15 15:16:55 +0000 |
---|---|---|
committer | Maurus Cuelenaere <mcuelenaere@gmail.com> | 2009-07-15 15:16:55 +0000 |
commit | be54b7f6a2312a007814284b3ae48ed5da892704 (patch) | |
tree | 51caa35b57958a47e631b181529ef9c5f9226476 | |
parent | 0e5942ffea44b3f95c0c3674882acf8c6f200dc2 (diff) | |
download | rockbox-be54b7f6a2312a007814284b3ae48ed5da892704.tar.gz rockbox-be54b7f6a2312a007814284b3ae48ed5da892704.zip |
Revert r21863 partly: fixes Lua
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21883 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/plugins/lua/lobject.c | 3 | ||||
-rw-r--r-- | apps/plugins/lua/lstrlib.c | 4 | ||||
-rw-r--r-- | apps/plugins/lua/rockconf.h | 1 |
3 files changed, 5 insertions, 3 deletions
diff --git a/apps/plugins/lua/lobject.c b/apps/plugins/lua/lobject.c index 7f73114303..62ad8e9359 100644 --- a/apps/plugins/lua/lobject.c +++ b/apps/plugins/lua/lobject.c | |||
@@ -181,7 +181,8 @@ const char *luaO_pushfstring (lua_State *L, const char *fmt, ...) { | |||
181 | 181 | ||
182 | void luaO_chunkid (char *out, const char *source, size_t bufflen) { | 182 | void luaO_chunkid (char *out, const char *source, size_t bufflen) { |
183 | if (*source == '=') { | 183 | if (*source == '=') { |
184 | strlcpy(out, source+1, bufflen); /* remove first char */ | 184 | strncpy(out, source+1, bufflen); /* remove first char */ |
185 | out[bufflen-1] = '\0'; /* ensures null termination */ | ||
185 | } | 186 | } |
186 | else { /* out = "source", or "...source" */ | 187 | else { /* out = "source", or "...source" */ |
187 | if (*source == '@') { | 188 | if (*source == '@') { |
diff --git a/apps/plugins/lua/lstrlib.c b/apps/plugins/lua/lstrlib.c index 4d58280ba8..3d6103692f 100644 --- a/apps/plugins/lua/lstrlib.c +++ b/apps/plugins/lua/lstrlib.c | |||
@@ -737,7 +737,9 @@ static const char *scanformat (lua_State *L, const char *strfrmt, char *form) { | |||
737 | if (isdigit(uchar(*p))) | 737 | if (isdigit(uchar(*p))) |
738 | luaL_error(L, "invalid format (width or precision too long)"); | 738 | luaL_error(L, "invalid format (width or precision too long)"); |
739 | *(form++) = '%'; | 739 | *(form++) = '%'; |
740 | strlcpy(form, strfrmt, p - strfrmt + 1); | 740 | strncpy(form, strfrmt, p - strfrmt + 1); |
741 | form += p - strfrmt + 1; | ||
742 | *form = '\0'; | ||
741 | return p; | 743 | return p; |
742 | } | 744 | } |
743 | 745 | ||
diff --git a/apps/plugins/lua/rockconf.h b/apps/plugins/lua/rockconf.h index 02bd0e76d1..92c0f8cac8 100644 --- a/apps/plugins/lua/rockconf.h +++ b/apps/plugins/lua/rockconf.h | |||
@@ -63,7 +63,6 @@ long pow(long x, long y); | |||
63 | #define strchr rb->strchr | 63 | #define strchr rb->strchr |
64 | #define strcmp rb->strcmp | 64 | #define strcmp rb->strcmp |
65 | #define strcpy rb->strcpy | 65 | #define strcpy rb->strcpy |
66 | #define strlcpy rb->strlcpy | ||
67 | #define strlen rb->strlen | 66 | #define strlen rb->strlen |
68 | 67 | ||
69 | #endif /* _ROCKCONF_H_ */ | 68 | #endif /* _ROCKCONF_H_ */ |