summaryrefslogtreecommitdiff
path: root/src/signature.c
diff options
context:
space:
mode:
authorCarlos Martín Nieto <cmn@dwim.me>2014-06-28 07:29:46 +0200
committerCarlos Martín Nieto <cmn@dwim.me>2014-09-30 15:44:32 +0200
commitbdeb8772fe846eeeea92cb2d9adb85315f3b8417 (patch)
tree52cc37d19aa34b1c15b31ceeeb2147edbcca86ba /src/signature.c
parent20363d583cc843f6b7882094ec5077232e03e16a (diff)
downloadlibgit2-bdeb8772fe846eeeea92cb2d9adb85315f3b8417.tar.gz
signature: add a dup function which takes a pool
This will be used by the transaction code.
Diffstat (limited to 'src/signature.c')
-rw-r--r--src/signature.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/signature.c b/src/signature.c
index 2a16b484a..514b153ac 100644
--- a/src/signature.c
+++ b/src/signature.c
@@ -106,6 +106,30 @@ int git_signature_dup(git_signature **dest, const git_signature *source)
return 0;
}
+int git_signature__pdup(git_signature **dest, const git_signature *source, git_pool *pool)
+{
+ git_signature *signature;
+
+ if (source == NULL)
+ return 0;
+
+ signature = git_pool_mallocz(pool, sizeof(git_signature));
+ GITERR_CHECK_ALLOC(signature);
+
+ signature->name = git_pool_strdup(pool, source->name);
+ GITERR_CHECK_ALLOC(signature->name);
+
+ signature->email = git_pool_strdup(pool, source->email);
+ GITERR_CHECK_ALLOC(signature->email);
+
+ signature->when.time = source->when.time;
+ signature->when.offset = source->when.offset;
+
+ *dest = signature;
+
+ return 0;
+}
+
int git_signature_now(git_signature **sig_out, const char *name, const char *email)
{
time_t now;