- 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
This commit is contained in:
drath
2006-06-25 20:44:25 +00:00
parent db0264db2a
commit d4d36b0a9a
3 changed files with 13 additions and 9 deletions

View File

@@ -32,14 +32,18 @@
#include <unistd.h>
#include <stdlib.h>
// -ino: 060521-1116
#ifndef HAVE_STRNDUP
#include <stdio.h>
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