OpenersNotesSection(Spacer1)Details

MLTestUTF8Symbol() fails if the current expression on the link l is not a symbol, or if the value of the symbol does not match s.

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

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

MLTestUTF8Symbol() 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 the next symbol on the link */

void f(MLINK l)
{
	const unsigned char theSymbol[5];

	theSymbol[0] = 'L';
	theSymbol[1] = 'i';
	theSymbol[2] = 's';
	theSymbol[3] = 't';

	if(! MLTestUTF8Symbol(l, (const unsigned char *)theSymbol,
		4))
	{ /* The next expression on the link is not List */ }
	else
	{ /* The next expression on the link is List */ }
}

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(NonWLLink[MLTestSymbol(), paclet:/ref/c/MLTestSymbol])  ▪  (NonWLLink[MLTestUCS2Symbol(), paclet:/ref/c/MLTestUCS2Symbol])  ▪  (NonWLLink[MLTestUTF32Symbol(), paclet:/ref/c/MLTestUTF32Symbol])  ▪  (NonWLLink[MLTestUTF16Symbol(), paclet:/ref/c/MLTestUTF16Symbol])}})}})

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