MLGetUTF32Function (C Function)

MLGetUTF32Function has been replaced by WSGetUTF32Function.

int MLGetUTF32Function( MLINK l , const unsigned int ** s , int * v , int * n )

gets a function with a symbol as a head encoded in the UTF-32 encoding form from the MathLink connection specified by l, storing the name of the symbol in s, the length of the UTF-32 codes in v, and the number of arguments of the function in n.

Details

  • MLGetUTF32Function() allocates memory for the character string corresponding to the name of the head of the function. You must call MLReleaseUTF32Symbol() to disown this memory. If MLGetUTF32Function() fails and the function's return value indicates an error, do not call MLReleaseUTF32Symbol() on the contents of s.
  • Programs should not modify the contents of the character string s.
  • The character string returned by MLGetUTF32Function() begins with a platform-appropriate byte order mark. The byte order mark is included in the length of the symbol v.
  • MLGetUTF32Function(l, &s, &v, &n) has the same effect as MLGetNext(l); MLGetArgCount(l, &n); MLGetUTF32Symbol(l, &s, &v).
  • MLGetUTF32Function() returns 0 in the event of an error, and a nonzero value if the function succeeds.
  • Use MLError() to retrieve the error code if MLGetUTF32Function() fails.
  • MLGetUTF32Function() is declared in the MathLink header file mathlink.h.

Examples

Basic Examples  (1)

#include "mathlink.h"

/* A function for reading a Mathematica function from a link */

void f(MLINK l)
{
    unsigned int *s;
    int length;
    int n;

    if(! MLGetUTF32Function(l, &s, &length, &n))
    { /* Unable to read the function from the link */ }

    /* ... */

    MLReleaseUTF32Function(l, s, length);
}