diff options
| author | Nils Wallménius <nils@rockbox.org> | 2009-07-14 13:57:45 +0000 |
|---|---|---|
| committer | Nils Wallménius <nils@rockbox.org> | 2009-07-14 13:57:45 +0000 |
| commit | 3d4701a6e41616cf581a297bab1451cf2db70249 (patch) | |
| tree | f845837c96ffbed7d59ddf8308f3b3e7c40cb8c9 /apps/plugins/lua | |
| parent | c2900a1bacd5d98b57a0d15ea2add1bc08764057 (diff) | |
| download | rockbox-3d4701a6e41616cf581a297bab1451cf2db70249.zip rockbox-3d4701a6e41616cf581a297bab1451cf2db70249.tar.gz rockbox-3d4701a6e41616cf581a297bab1451cf2db70249.tar.bz2 rockbox-3d4701a6e41616cf581a297bab1451cf2db70249.tar.xz | |
FS#10080
* Move strncpy() from core to the pluginlib
* Introduce strlcpy() and use that instead in most places (use memcpy in a few) in core and some plugins
* Drop strncpy() from the codec api as no codec used it
* Bump codec and plugin api versions
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21863 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/lua')
| -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 | 2 |
3 files changed, 3 insertions, 6 deletions
diff --git a/apps/plugins/lua/lobject.c b/apps/plugins/lua/lobject.c index 62ad8e9..7f73114 100644 --- a/apps/plugins/lua/lobject.c +++ b/apps/plugins/lua/lobject.c @@ -181,8 +181,7 @@ const char *luaO_pushfstring (lua_State *L, const char *fmt, ...) { void luaO_chunkid (char *out, const char *source, size_t bufflen) { if (*source == '=') { - strncpy(out, source+1, bufflen); /* remove first char */ - out[bufflen-1] = '\0'; /* ensures null termination */ + strlcpy(out, source+1, bufflen); /* remove first char */ } else { /* out = "source", or "...source" */ if (*source == '@') { diff --git a/apps/plugins/lua/lstrlib.c b/apps/plugins/lua/lstrlib.c index 3d61036..4d58280 100644 --- a/apps/plugins/lua/lstrlib.c +++ b/apps/plugins/lua/lstrlib.c @@ -737,9 +737,7 @@ static const char *scanformat (lua_State *L, const char *strfrmt, char *form) { if (isdigit(uchar(*p))) luaL_error(L, "invalid format (width or precision too long)"); *(form++) = '%'; - strncpy(form, strfrmt, p - strfrmt + 1); - form += p - strfrmt + 1; - *form = '\0'; + strlcpy(form, strfrmt, p - strfrmt + 1); return p; } diff --git a/apps/plugins/lua/rockconf.h b/apps/plugins/lua/rockconf.h index 639f336..02bd0e7 100644 --- a/apps/plugins/lua/rockconf.h +++ b/apps/plugins/lua/rockconf.h @@ -63,7 +63,7 @@ long pow(long x, long y); #define strchr rb->strchr #define strcmp rb->strcmp #define strcpy rb->strcpy -#define strncpy rb->strncpy +#define strlcpy rb->strlcpy #define strlen rb->strlen #endif /* _ROCKCONF_H_ */ |