From 3d4701a6e41616cf581a297bab1451cf2db70249 Mon Sep 17 00:00:00 2001 From: Nils Wallménius Date: Tue, 14 Jul 2009 13:57:45 +0000 Subject: 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 --- apps/plugins/rockboy/menu.c | 10 ++++------ apps/plugins/rockboy/rockmacros.h | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) (limited to 'apps/plugins/rockboy') diff --git a/apps/plugins/rockboy/menu.c b/apps/plugins/rockboy/menu.c index 9821ce9ba2..76de224294 100644 --- a/apps/plugins/rockboy/menu.c +++ b/apps/plugins/rockboy/menu.c @@ -162,11 +162,10 @@ static void munge_name(char *buf, const size_t bufsiz) { * checksum or something like that? */ static void build_slot_path(char *buf, size_t bufsiz, size_t slot_id) { - char name_buf[40]; + char name_buf[17]; /* munge state file name */ - strncpy(name_buf, rom.name, 40); - name_buf[16] = '\0'; + strlcpy(name_buf, rom.name, sizeof(name_buf)); munge_name(name_buf, strlen(name_buf)); /* glom the whole mess together */ @@ -211,7 +210,7 @@ static bool do_file(char *path, char *desc, bool is_load) { /* build description buffer */ memset(desc_buf, 0, 20); if (desc) - strncpy(desc_buf, desc, 20); + strlcpy(desc_buf, desc, 20); /* save state */ write(fd, desc_buf, 20); @@ -241,8 +240,7 @@ static bool do_slot(size_t slot_id, bool is_load) { if (!is_load) if (rb->kbd_input(desc_buf, 20) || !strlen(desc_buf)) { - memset(desc_buf, 0, 20); - strncpy(desc_buf, "Untitled", 20); + strlcpy(desc_buf, "Untitled", 20); } /* load/save file */ diff --git a/apps/plugins/rockboy/rockmacros.h b/apps/plugins/rockboy/rockmacros.h index 414b889003..0fd13f6ef9 100644 --- a/apps/plugins/rockboy/rockmacros.h +++ b/apps/plugins/rockboy/rockmacros.h @@ -67,7 +67,7 @@ void dynamic_recompile (struct dynarec_block *newblock); #define strcat(a,b) rb->strcat((a),(b)) #define memset(a,b,c) rb->memset((a),(b),(c)) #define strcpy(a,b) rb->strcpy((a),(b)) -#define strncpy(a,b,c) rb->strncpy((a),(b),(c)) +#define strlcpy(a,b,c) rb->strlcpy((a),(b),(c)) #define strlen(a) rb->strlen((a)) #define strcmp(a,b) rb->strcmp((a),(b)) #define strchr(a,b) rb->strchr((a),(b)) -- cgit v1.2.3