コード例 #1
0
ANSC_STATUS
AnscAsn1Free
    (
        ANSC_HANDLE                 hThisObject
    )
{
    PANSC_ASN1_OBJECT               pBaseObject  = (PANSC_ASN1_OBJECT)hThisObject;

    if( pBaseObject != NULL)
    {
        if( pBaseObject->Name != NULL)
        {
            AnscFreeMemory(pBaseObject->Name);
        }

        if( pBaseObject->ClassName != NULL)
        {
            AnscFreeMemory(pBaseObject->ClassName);
        }

        AttrListRemoveAllAttributes(&pBaseObject->sAttrList);

        AnscFreeMemory(pBaseObject);
    }

    return  ANSC_STATUS_SUCCESS;
}
コード例 #2
0
ANSC_STATUS
AnscAsn1CertificateRequestFree
    (
        ANSC_HANDLE                 hThisObject
    )
{
    PANSC_ASN1_CERTIFICATEREQUEST   pBaseObject  = (PANSC_ASN1_CERTIFICATEREQUEST)hThisObject;
    PANSC_ASN1_OBJECT               pChild       = NULL;

    if( pBaseObject != NULL)
    {
        /* free the signed data part */
        if( pBaseObject->pSignedData != NULL && pBaseObject->uSignedLength > 0)
        {
            AnscFreeMemory(pBaseObject->pSignedData);
        }

        /*
         *  Remove the children here, from the end;
         */
        pBaseObject->RemoveAllChildren(pBaseObject,TRUE);

        /*
         *  Remove the extra child;
         */
        pChild = pBaseObject->pExtraChild;

        if( pChild != NULL)
        {
            pChild->AsnFree(pChild);
        }

        if( pBaseObject->Name != NULL)
        {
            AnscFreeMemory(pBaseObject->Name);
        }

        if( pBaseObject->ClassName != NULL)
        {
            AnscFreeMemory(pBaseObject->ClassName);
        }

        AttrListRemoveAllAttributes(&pBaseObject->sAttrList);

        AnscFreeMemory(pBaseObject);
    }

    return  ANSC_STATUS_SUCCESS;
}