Decode a BER character string into a bsl::string.

Synopsis

Declared in <balber_berutil.h>

static
int
getStringValue(
    bsl::string* value,
    std::streambuf* streamBuf,
    int length,
    BerDecoderOptions const& options);

Description

bytes as the value of the contents octets of a BER‐encoded character string (more specifically, an unrestricted character string) according to the specification, unless an alternate value is indicated by the specified options, in which case, the alternate value is loaded. If the DefaultEmptyStrings attribute of the options is true and the witnessed BER‐encoded character string represents the empty string value, the alternate value is the current *value, otherwise there is no alternate value. Return 0 if successful, and a non‐zero value otherwise. The operation succeeds if length bytes are successfully read from the input sequence of the streamBuf without the read position becoming unavailable, and the bytes read contain a valid representation of the contents octets of a character string value according to the specification.

Return Value

0 on success, and a non‐zero value otherwise

Parameters

Name

Description

value

destination for the decoded value

streamBuf

input stream buffer

length

number of content octets

options

decoder options controlling decoding behavior

Created with MrDocs