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/sokoban.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'apps/plugins/sokoban.c') diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c index 8672249bdc..bfd400b408 100644 --- a/apps/plugins/sokoban.c +++ b/apps/plugins/sokoban.c @@ -689,7 +689,8 @@ static bool redo(void) static void init_boards(void) { - rb->strncpy(buffered_boards.filename, SOKOBAN_LEVELS_FILE, MAX_PATH); + rb->strlcpy(buffered_boards.filename, SOKOBAN_LEVELS_FILE, + sizeof(buffered_boards.filename)); current_info.level.index = 0; current_info.player.row = 0; @@ -1026,8 +1027,8 @@ static bool save(char *filename, bool solution) /* Create dir if it doesn't exist */ if ((loc = rb->strrchr(filename, '/')) != NULL) { - rb->strncpy(dirname, filename, loc - filename); - dirname[loc - filename] = '\0'; + rb->strlcpy(dirname, filename, loc - filename + 1); + if(!(dir = rb->opendir(dirname))) rb->mkdir(dirname); else @@ -1082,7 +1083,9 @@ static bool load(char *filename, bool silent) if (rb->strncmp(buf, "Sokoban", 7) != 0) { rb->close(fd); - rb->strncpy(buffered_boards.filename, filename, MAX_PATH); + rb->strlcpy(buffered_boards.filename, filename, + sizeof(buffered_boards.filename)); + if (!read_levels(true)) return false; -- cgit v1.2.3