File: close.cc

package info (click to toggle)
bobcat 2.08.01-1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 5,668 kB
  • ctags: 953
  • sloc: cpp: 10,403; makefile: 9,042; perl: 401; sh: 195
file content (20 lines) | stat: -rw-r--r-- 531 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "hmacbuf.ih"

void HMacBuf::close()
{
    char *digestbuf = new char[EVP_MAX_MD_SIZE];

    if (pptr() > pbase())
       HMAC_Update(&d_pimpl->ctx, 
                   reinterpret_cast<unsigned char *>(d_pimpl->buffer), 
                   pptr() - pbase());
         
    unsigned int digestbufLen;
    HMAC_Final(&d_pimpl->ctx, reinterpret_cast<unsigned char *>(digestbuf), 
               &digestbufLen);

    d_pimpl->digest.assign(digestbuf, digestbufLen);
    HMAC_cleanup(&d_pimpl->ctx);

    delete[] digestbuf;
}