OpenersNotesSection(Spacer1)Details

MLTestUTF16Head() fails if the current expression on the link is not a function with a symbol as a head, or if the name of the symbol does not match h.

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

MLTestUTF16Head() will reset the stream pointer to the expression on the link just prior to calling MLTestUTF16Head() if the function fails. This operation behaves as if the programmer called MLCreateMark(l); MLTestUTF16Head(…); MLSeekToMark(…).

The UTF-16 encoded head h must include a byte order mark.

The length v of the UTF-16 encoded head h must include the byte order mark.

MLTestUTF16Head() 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 testing whether the next expression on the link is a ReturnPacket[] */

void f(MLINK l)
{
	const unsigned short packet[13];
	int arguments;

	packet[0] = 0xFEFF;
	packet[1] =  'R';
	packet[2] =  'e';
	packet[3] =  't';
	packet[4] =  'u';
	packet[5] =  'r';
	packet[6] =  'n';
	packet[7] =  'P';
	packet[8] =  'a';
	packet[9] =  'c';
	packet[10] =  'k';
	packet[11] = 'e';
	packet[12] = 't';

	if(! MLTestUCS2Head(l, (const unsigned short *)packet, 13,
		&arguments))
	{ /* read the contents of the ReturnPacket[] */ }
	else
	{ /* the head of the incoming expression is not ReturnPacket */ }
}

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(NonWLLink[MLTestHead(), paclet:/ref/c/MLTestHead])  ▪  (NonWLLink[MLTestUCS2Head(), paclet:/ref/c/MLTestUCS2Head])  ▪  (NonWLLink[MLTestUTF32Head(), paclet:/ref/c/MLTestUTF32Head])  ▪  (NonWLLink[MLTestUTF8Head(), paclet:/ref/c/MLTestUTF8Head])  ▪  (NonWLLink[MLGetArgCount(), paclet:/ref/c/MLGetArgCount])}})}})