summaryrefslogtreecommitdiff
path: root/libmisc/error.c
diff options
context:
space:
mode:
Diffstat (limited to 'libmisc/error.c')
-rw-r--r--libmisc/error.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libmisc/error.c b/libmisc/error.c
index dfe4e80..345755c 100644
--- a/libmisc/error.c
+++ b/libmisc/error.c
@@ -4,6 +4,8 @@
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
+#include <string.h> /* for strdup() */
+
#include <libmisc/error.h>
const char *error_msg(error err) {
@@ -12,6 +14,13 @@ const char *error_msg(error err) {
: _errnum_str_msg(err.num);
}
+error error_dup(error err) {
+ return (error){
+ .num = err.num,
+ ._msg = err._msg ? strdup(err._msg) : NULL,
+ };
+}
+
void error_cleanup(error *errptr) {
if (!errptr)
return;