Add new function, EVP_MD_CTX_copy() to replace frequent use of memcpy.
[openssl.git] / crypto / evp / digest.c
index d65f0036f7b51dda6f0f6017e23771b4e9d12299..7ef0e73b5a5aa37f57142a754171f09e8a8a38e4 100644 (file)
@@ -87,3 +87,13 @@ unsigned int *size;
                *size=ctx->digest->md_size;
        memset(&(ctx->md),0,sizeof(ctx->md));
        }
+
+int EVP_MD_CTX_copy(EVP_MD_CTX *out, EVP_MD_CTX *in)
+{
+    if ((in == NULL) || (in->digest == NULL)) {
+        EVPerr(EVP_F_EVP_MD_CTX_COPY,EVP_R_INPUT_NOT_INITALISED);
+       return 0;
+    }
+    memcpy((char *)out,(char *)in,in->digest->ctx_size);
+    return 1;
+}