static int generate_spc_indirect_data_content(cms_context *cms, SECItem *idcp) { SpcIndirectDataContent idc; memset(&idc, '\0', sizeof (idc)); int rc; rc = generate_spc_attribute_yadda_yadda(cms, &idc.data); if (rc < 0) return rc; rc = generate_spc_digest_info(cms, &idc.messageDigest); if (rc < 0) { SECITEM_FreeItem(&idc.data, PR_FALSE); return rc; } if (SEC_ASN1EncodeItem(cms->arena, idcp, &idc, SpcIndirectDataContentTemplate) == NULL) { cms->log(cms, LOG_ERR, "could not encode " "SpcIndirectDataContent: %s", PORT_ErrorToString(PORT_GetError())); return -1; } return 0; }
static int generate_spc_indirect_data_content(PRArenaPool *arena, SECItem *idcp, cms_context *ctx) { SpcIndirectDataContent idc; memset(&idc, '\0', sizeof (idc)); if (generate_spc_attribute_yadda_yadda(arena, &idc.data) < 0) { fprintf(stderr, "got here %s:%d\n",__func__,__LINE__); return -1; } if (generate_spc_digest_info(arena, &idc.messageDigest, ctx) < 0) { fprintf(stderr, "got here %s:%d\n",__func__,__LINE__); return -1; } if (SEC_ASN1EncodeItem(arena, idcp, &idc, SpcIndirectDataContentTemplate) == NULL) { fprintf(stderr, "Could not encode SpcIndirectDataContent: %s\n", PORT_ErrorToString(PORT_GetError())); return -1; } return 0; }