TPM_RC UINT8_Unmarshal()

in src/Marshal.c [33:56]


TPM_RC UINT8_Unmarshal(UINT8 *target, BYTE **buffer, INT32 *size)
{
    TPM_RC result;
    if (target == NULL || buffer == NULL || size == NULL)
    {
        LogError("invalid paramer specified");
        result = TPM_RC_INSUFFICIENT;
    }
    else
    {
        if ((*size -= 1) < 0)
        {
            LogError("invalid paramer specified");
            result = TPM_RC_INSUFFICIENT;
        }
        else
        {
            *target = BYTE_ARRAY_TO_UINT8(*buffer);
            *buffer += 1;
            result = TPM_RC_SUCCESS;
        }
    }
    return result;
}