From d2f3f3aaa831fa9c5b14dac82427283365da8f8f Mon Sep 17 00:00:00 2001 From: Vijay Kiran Kamuju Date: Sun, 31 May 2020 10:44:23 +0200 Subject: [PATCH] msasn1: Add stub for ASN1_Decode function. ASN1decoding_t and ASN1encoding_t are implemented as linked lists. Current implementation does not properly emulate the linked list, as we need to identify where the next link pointers are stored. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=38020 Signed-off-by: Vijay Kiran Kamuju Signed-off-by: Alexandre Julliard --- dlls/msasn1/main.c | 18 ++++++++++++++++++ dlls/msasn1/msasn1.spec | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/dlls/msasn1/main.c b/dlls/msasn1/main.c index c96be7d07d6..d1513629057 100644 --- a/dlls/msasn1/main.c +++ b/dlls/msasn1/main.c @@ -190,3 +190,21 @@ void WINAPI ASN1_CloseDecoder(ASN1decoding_t decoder) { FIXME("(%p): Stub!\n", decoder); } + +ASN1error_e WINAPI ASN1_Decode(ASN1decoding_t decoder, void **outdata, ASN1uint32_t pdunum, + ASN1uint32_t flags, ASN1octet_t *buf, ASN1uint32_t bufsize) +{ + FIXME("(%p %p %u %08x %p %u): Stub!\n", decoder, outdata, pdunum, flags, buf, bufsize); + + if (!decoder) + return ASN1_ERR_BADARGS; + + if (!buf || !bufsize) + { + decoder->err = ASN1_ERR_BADARGS; + return ASN1_ERR_BADARGS; + } + + decoder->err = ASN1_ERR_BADPDU; + return ASN1_ERR_BADPDU; +} diff --git a/dlls/msasn1/msasn1.spec b/dlls/msasn1/msasn1.spec index f98a4a62d7a..ab823b03c31 100644 --- a/dlls/msasn1/msasn1.spec +++ b/dlls/msasn1/msasn1.spec @@ -224,7 +224,7 @@ @ stub ASN1_CreateDecoderEx @ stdcall ASN1_CreateEncoder(ptr ptr ptr long ptr) @ stdcall ASN1_CreateModule(long long long long ptr ptr ptr ptr long) -@ stub ASN1_Decode +@ stdcall ASN1_Decode(ptr ptr long long ptr long) @ stub ASN1_Encode @ stub ASN1_FreeDecoded @ stub ASN1_FreeEncoded