OpenersNotesSection(Spacer1)Details

MLTestUCS2Head() 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.

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

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

MLTestUCS2Head() 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[12];
	int arguments;

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

	if(! MLTestUCS2Head(l, (const unsigned short *)packet, 12,
		&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[MLTestUTF16Head(), paclet:/ref/c/MLTestUTF16Head])  ▪  (NonWLLink[MLTestUTF32Head(), paclet:/ref/c/MLTestUTF32Head])  ▪  (NonWLLink[MLTestUTF8Head(), paclet:/ref/c/MLTestUTF8Head])  ▪  (NonWLLink[MLGetArgCount(), paclet:/ref/c/MLGetArgCount])}})}})