MLGetInteger8Array (C Function)

MLGetInteger8Array has been replaced by WSGetInteger8Array.

intMLGetInteger8Array( MLINK l , unsigned char ** s , int ** d , char *** h , int * depth )

gets an array of 8-bit integers from the MathLink connection specified by l, storing the array in s, its dimensions in d, heads in h, and its depth in depth.

Details

  • The array s is laid out in memory like a C array declared as unsigned char s[m][n].
  • h gives a list of character strings corresponding to the names of the symbols that appear as heads at each level in the array.
  • MLGetInteger8Array() allocates memory that must be released by calling MLReleaseInteger8Array(). If MLGetInteger8Array() fails and the function's return value indicates an error, do not call MLReleaseInteger8Array() on the contents of s.
  • MLGetInteger8Array() returns immutable data.
  • MLGetInteger8Array() returns 0 in the event of an error, and a nonzero value if the function succeeds.
  • Use MLError() to retrieve the error code if MLGetInteger8Array() fails.
  • MLGetInteger8Array() is declared in the MathLink head file mathlink.h.

Examples

Basic Examples  (1)

#include "mathlink.h"

/* A function for reading an array of 8-bit integers from a link */

void f(MLINK l)
{
    unsigned char *data;
    int *dims;
    char **heads;
    int depth;

    if(! MLGetInteger8Array(l, &data, &dims, &heads, &depth))
    { /* Unable to read the array of integers from l */ }

    /* ... */

    MLReleaseInteger8Array(l, data, dims, heads, depth);
}