From 1e316cfc7c0623038f850de1a2f2688497c51914 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Sat, 29 Sep 2007 14:25:49 +0000 Subject: Lose intermediate handling (unused). Change argument parsing to work properly over multiple buffers by saving a copy of the argument (we can't just save off/len since the buffer may vanish at any point). --- xmalloc.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'xmalloc.c') diff --git a/xmalloc.c b/xmalloc.c index 478e5f0e..dff43189 100644 --- a/xmalloc.c +++ b/xmalloc.c @@ -1,4 +1,4 @@ -/* $Id: xmalloc.c,v 1.2 2007-07-25 23:13:18 nicm Exp $ */ +/* $Id: xmalloc.c,v 1.3 2007-09-29 14:25:49 nicm Exp $ */ /* * Copyright (c) 2004 Nicholas Marriott @@ -69,6 +69,18 @@ ensure_size(void *buf, size_t *len, size_t nmemb, size_t size) return (buf); } +char * +xmemstrdup(const char *buf, size_t len) +{ + char *s; + + s = xmalloc(len + 1); + memcpy(s, buf, len); + s[len] = '\0'; + + return (s); +} + char * xstrdup(const char *s) { -- cgit