aboutsummaryrefslogtreecommitdiffstats
path: root/util/memory.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>1997-12-12 12:03:58 +0000
committerWerner Koch <[email protected]>1997-12-12 12:03:58 +0000
commit68ea0f43533096d5c46bad4aee6e5d5864307f4a (patch)
treef5d3601897a3bdfbce113d5e1ed8b4336c83744a /util/memory.c
parentfingerprints and self signatures added (diff)
downloadgnupg-68ea0f43533096d5c46bad4aee6e5d5864307f4a.tar.gz
gnupg-68ea0f43533096d5c46bad4aee6e5d5864307f4a.zip
added option file handling
Diffstat (limited to 'util/memory.c')
-rw-r--r--util/memory.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/util/memory.c b/util/memory.c
index 9ba9a8e82..1a60b4931 100644
--- a/util/memory.c
+++ b/util/memory.c
@@ -54,6 +54,7 @@ const void membug( const char *fmt, ... );
#undef m_realloc
#undef m_free
#undef m_check
+ #undef m_strdup
#define FNAME(a) m_debug_ ##a
#define FNAMEPRT , const char *info
#define FNAMEARG , info
@@ -370,7 +371,7 @@ FNAME(alloc_secure_clear)( size_t n FNAMEPRT)
/****************
- * realloc and clear the new space
+ * realloc and clear the old space
*/
void *
FNAME(realloc)( void *a, size_t n FNAMEPRT )
@@ -461,13 +462,13 @@ m_is_secure( const void *p )
* Make a copy of the memory block at a
*/
void *
-FNAME(copy)( void *a FNAMEPRT )
+FNAME(copy)( const void *a FNAMEPRT )
{
void *b;
size_t n;
if( !a )
- return a;
+ return NULL;
n = m_size(a);
if( m_is_secure(a) )
@@ -479,3 +480,12 @@ FNAME(copy)( void *a FNAMEPRT )
}
+char *
+FNAME(strdup)( const char *a FNAMEPRT )
+{
+ size_t n = strlen(a);
+ char *p = FNAME(alloc)(n+1 FNAMEARG);
+ strcpy(p, a);
+ return p;
+}
+