OpenersNotesSection(Spacer1)Details

After the call to MLPutUTF8Function(), other MathLink functions must be called to send the arguments of the function.

MLPutUTF8Function() 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 MLPutUTF8Function() fails.

MLPutUTF8Function() 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 to put List[1,2,3] to the link */

void f(MLINK l)
{
	unsigned char name[4];
	name[0] = 'L';
	name[1] = 'i';
	name[2] = 's';
	name[3] = 't';

	if(! MLPutUTF8Function(l, (const unsigned char *)name, 4, 3))
	{ /* Unable to put the function head to the link */ }

	if(! MLPutInteger8(l, 1))
	{ /* Unable to write 1 to the link */ }

	if(! MLPutInteger8(l, 2))
	{ /* Unable to write 2 to the link */ }

	if(! MLPutInteger8(l, 3))
	{ /* Unable to write 3 to the link */ }

	if(! MLEndPacket(l))
	{ /* Unable to write the end-of-packet sequence to the link */ }

	if(! MLFlush(l))
	{ /* Unable to flush the outbound data to the link */ }
}

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(NonWLLink[MLPutFunction(), paclet:/ref/c/MLPutFunction])  ▪  (NonWLLink[MLPutUCS2Function(), paclet:/ref/c/MLPutUCS2Function])  ▪  (NonWLLink[MLPutUTF16Function(), paclet:/ref/c/MLPutUTF16Function])  ▪  (NonWLLink[MLPutUTF32Function(), paclet:/ref/c/MLPutUTF32Function])}})}})

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