OpenersNotesSection(Spacer1)Details

MLGetUTF16Function() allocates memory for the character string corresponding to the name of the head of the function. You must call (NonWLLink[MLReleaseUTF16Symbol(), paclet:/ref/c/MLReleaseUTF16Symbol]) to disown this memory. If MLGetUTF16Function() fails and the function's return value indicates an error, do not call (NonWLLink[MLReleaseUTF16Symbol(), paclet:/ref/c/MLReleaseUTF16Symbol]) on the contents of s.

Programs should not modify the contents of the character string s.

The character string returned by MLGetUTF16Function() begins with a platform appropriate byte order mark. This byte order mark is included in the length value v.

MLGetUTF16Function(l, &s, &v, &n) has the same effect as MLGetNext(l); MLGetArgCount(l, &n); MLGetUTF16Symbol(l, &s, &v, &c), where c is the number of characters encoded in s.

MLGetUTF16Function() returns 0 in the event of an error, and a nonzero value if the function succeeds.

Use (NonWLLink[MLError(), paclet:/ref/c/MLError]) to retrieve the error code if MLGetUTF16Function() fails.

MLGetUTF16Function() is declared in the MathLink header file (RefLink[mathlink.h, paclet:/ref/file/mathlink.h]).

OpenersPrimaryExamplesSection(Spacer1)Examples  (1)

OpenersExampleSection0(Spacer1)Basic Examples  (1)

#include "mathlink.h"

/* A function for reading a Mathematica function from a link */

void f(MLINK l)
{
	const unsigned short *s;
	int length;
	int n;

	if(! MLGetUTF16Function(l, &s, &length, &n))
	{ /* Unable to read the function from the link */ }

	/* ... */

	MLReleaseUTF16Symbol(l, s, length);
}

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(NonWLLink[MLReleaseUTF16Symbol(), paclet:/ref/c/MLReleaseUTF16Symbol])  ▪  (NonWLLink[MLGetFunction(), paclet:/ref/c/MLGetFunction])  ▪  (NonWLLink[MLGetUCS2Function(), paclet:/ref/c/MLGetUCS2Function])  ▪  (NonWLLink[MLGetUTF8Function(), paclet:/ref/c/MLGetUTF8Function])  ▪  (NonWLLink[MLGetUTF32Function(), paclet:/ref/c/MLGetUTF32Function])}})}})

({{DocumentationFooterIconsRelatedTutorial.png, ({{Tutorials}, {▪(RefLinkPlain[Manipulating Expressions in External Programs, paclet:tutorial/ManipulatingExpressionsInExternalPrograms])}, {▪(RefLinkPlain[Handling Lists, Arrays, and Other Expressions, paclet:tutorial/HandlingListsArraysAndOtherExpressions])}})}})