WSTestUTF16Symbol (C Function)
int WSTestUTF16Symbol(WSLINK l, const unsigned short *s, int n)
tests that the next expression on the WSTP connection specified by l is a symbol with the value s, a UTF-16 encoded string of length n.
Details
- WSTestUTF16Symbol() fails if the current expression on the link l is not a symbol or if the value of the symbol does not match s.
- WSTestUTF16Symbol() returns 0 in the event of an error, and a nonzero value if the function succeeds.
- Use WSError() to retrieve the error code if WSTestUTF16Symbol() fails.
- WSTestUTF16Symbol() will reset the stream pointer to the expression on the link just prior to calling WSTestUTF16Symbol()if the function fails. This operation behaves as if the programmer called WSCreateMark(link); WSTestUTF16Symbol(…); WSSeekToMark(…).
- The UTF-16 encoded symbol s must include a byte order mark.
- The length n of the UTF-16 symbol s must include the byte order mark.
- WSTestUTF16Symbol() is declared in the WSTP header file wstp.h.
Examples
Basic Examples (1)
#include "wstp.h"
/* A function for testing the next symbol on the link */
void f(WSLINK l)
{
const unsigned short theSymbol[5];
theSymbol[0] = 0xFEFF;
theSymbol[1] = 'L';
theSymbol[2] = 'i';
theSymbol[3] = 's';
theSymbol[4] = 't';
if(! WSTestUTF16Symbol(l, (const unsigned short *)theSymbol,
5))
{ /* The next expression on the link is not List */ }
else
{ /* The next expression on the link is List */ }
}