mdz_utf16_attachData - maxdz-gmbh/mdz_unicode GitHub Wiki
Attach pre-allocated data to UTF-16
string, assigning pData
to m_pData
. If attached, m_pData
will not be destroyed in mdz_utf16_destroy()
mdz_bool mdz_utf16_attachData(
struct mdz_Utf16* pUtf16,
uint16_t* pData,
size_t nOffsetFromStart,
size_t nCapacity,
enum mdz_attach_type enAttachType,
enum mdz_endianness enEndianness);
Parameter | Description |
---|---|
pUtf16 |
pointer to string returned by mdz_utf16_create() or mdz_utf16_create_attached()
|
pData |
pointer to pre-allocated data to attach |
nOffsetFromStart |
position in pre-allocated data to attach from. Can be > 0 |
nCapacity |
full capacity pre-allocated data in items |
enAttachType |
type of attachment. 0 is expected at position pData [nOffsetFromStart ] if MDZ_ATTACH_ZEROSIZE . 0 is expected at position pData [nCapacity ] if MDZ_ATTACH_SIZE_TERMINATOR . MDZ_ATTACH_SIZE_NO_TERMINATOR is not allowed |
enEndianness |
endianness of UTF-16 characters in pData . Can be MDZ_ENDIAN_LITTLE for "little-endian" or MDZ_ENDIAN_BIG for "big-endian" |
Return | Description |
---|---|
mdz_false | if pUtf16 == NULL
|
mdz_false | if pData == NULL (MDZ_ERROR_DATA), or nOffsetFromStart >= nCapacity (MDZ_ERROR_OFFSET), or invalid enAttachType (MDZ_ERROR_ATTACHTYPE), or invalid pData endianness (MDZ_ERROR_ENDIANNESS) |
mdz_false | if enAttachType is MDZ_ATTACH_ZEROSIZE or MDZ_ATTACH_SIZE_TERMINATOR but 0 is not found at expected position (MDZ_ERROR_ATTACH_TERMINATOR) |
mdz_false | if enAttachType == MDZ_ATTACH_SIZE_TERMINATOR and pData contains invalid UTF-16 characters (MDZ_ERROR_CONTENT) |
mdz_true | operation succeeded |