diff options
author | Mattias Andrée <maandree@kth.se> | 2021-12-10 21:11:46 +0100 |
---|---|---|
committer | Mattias Andrée <maandree@kth.se> | 2021-12-10 21:11:46 +0100 |
commit | ff35af3b422d81143cdd436b9412652bca760a69 (patch) | |
tree | 93555000c5100abd391bb1ecb85525dfad5604ce /strdup.c | |
parent | Add liberror_send_require and liberror_send_short (diff) | |
download | liberror-libc-ff35af3b422d81143cdd436b9412652bca760a69.tar.gz liberror-libc-ff35af3b422d81143cdd436b9412652bca760a69.tar.bz2 liberror-libc-ff35af3b422d81143cdd436b9412652bca760a69.tar.xz |
Add strdup
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'strdup.c')
-rw-r--r-- | strdup.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/strdup.c b/strdup.c new file mode 100644 index 0000000..0b1c8ee --- /dev/null +++ b/strdup.c @@ -0,0 +1,22 @@ +/* See LICENSE file for copyright and license details. */ +#include "internal.h" + + +void +liberror_strdup_failed(const char *s) +{ + liberror_set_error_errno(errno == ENOMEM ? "Out of memory" : "", "strdup", errno); + (void) s; +} + + +char * +liberror_strdup(const char *s) +{ + char *ret = malloc(s); + if (ret) + return ret; + liberror_save_backtrace(NULL); + liberror_strdup_failed(s); + return NULL; +} |