From d4d36b0a9a778caec77fb8e4ce5b1e406d5a8f50 Mon Sep 17 00:00:00 2001 From: drath Date: Sun, 25 Jun 2006 20:44:25 +0000 Subject: [PATCH] - changed use of bzero (deprecated) to memset (thanks to Spen for pointing this out) - changed fallback implementation of strndup to something that works on all systems (thanks to Spen for this patch) git-svn-id: svn://svn.berlios.de/openocd/trunk@75 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- src/openocd.c | 2 +- src/server/gdb_server.c | 16 ++++++++++------ src/target/arm_disassembler.c | 4 ++-- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/openocd.c b/src/openocd.c index 229fd916e..b83929115 100644 --- a/src/openocd.c +++ b/src/openocd.c @@ -18,7 +18,7 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ -#define OPENOCD_VERSION "Open On-Chip Debugger (2006-06-25 13:15 CEST)" +#define OPENOCD_VERSION "Open On-Chip Debugger (2006-06-25 22:45 CEST)" #ifdef HAVE_CONFIG_H #include diff --git a/src/server/gdb_server.c b/src/server/gdb_server.c index e8664bb27..b0c099611 100644 --- a/src/server/gdb_server.c +++ b/src/server/gdb_server.c @@ -32,14 +32,18 @@ #include #include -// -ino: 060521-1116 #ifndef HAVE_STRNDUP #include -char * strndup(char * str, int n) { - unsigned char * tmp = malloc((size_t)n+1); - if (! tmp) perror("gdb_server malloc failed"); - if (strlcpy(tmp, str, n) > n) perror("gdb_server strndup: too long"); - return tmp; +char* strndup(const char *s, size_t n) +{ + size_t len = strnlen (s, n); + char *new = (char *) malloc (len + 1); + + if (new == NULL) + return NULL; + + new[len] = '\0'; + return (char *) memcpy (new, s, len); } #endif diff --git a/src/target/arm_disassembler.c b/src/target/arm_disassembler.c index 04dcf4bac..3a9c1f874 100644 --- a/src/target/arm_disassembler.c +++ b/src/target/arm_disassembler.c @@ -21,7 +21,7 @@ #include "log.h" -#include +#include /* textual represenation of the condition field */ /* ALways (default) is ommitted (empty string) */ @@ -1158,7 +1158,7 @@ int evaluate_data_proc(u32 opcode, u32 address, arm_instruction_t *instruction) int evaluate_opcode(u32 opcode, u32 address, arm_instruction_t *instruction) { /* clear fields, to avoid confusion */ - bzero(instruction, sizeof(arm_instruction_t)); + memset(instruction, 0, sizeof(arm_instruction_t)); instruction->opcode = opcode; /* catch opcodes with condition field [31:28] = b1111 */