X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=lib%2Fsilcutil%2Fsilcmemory.c;h=eb246557b7b99e2c2a58af70d8d65b53bfe45198;hp=2df6fee495f03ea02a595f6942c3f63f2603b6e8;hb=386c883d8774999c6e74d7c6c37e52e4163a4cb1;hpb=73e02ea64eb9744bde0121ee487f8ce8eb803aa9 diff --git a/lib/silcutil/silcmemory.c b/lib/silcutil/silcmemory.c index 2df6fee4..eb246557 100644 --- a/lib/silcutil/silcmemory.c +++ b/lib/silcutil/silcmemory.c @@ -1,16 +1,15 @@ /* - silcmemory.c + silcmemory.c - Author: Pekka Riikonen + Author: Pekka Riikonen - Copyright (C) 1999 - 2000 Pekka Riikonen + Copyright (C) 1999 - 2002 Pekka Riikonen This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - + the Free Software Foundation; version 2 of the License. + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the @@ -49,3 +48,12 @@ void silc_free(void *ptr) { free(ptr); } + +void *silc_memdup(const void *ptr, size_t size) +{ + unsigned char *addr = silc_malloc(size + 1); + assert(addr != NULL); + memcpy((void *)addr, ptr, size); + addr[size] = '\0'; + return (void *)addr; +}