The mi_fp_arglen() function

The mi_fp_arglen() accessor function obtains the length of an argument of a user-defined routine from its associated MI_FPARAM structure.

Syntax

mi_integer mi_fp_arglen(fparam_ptr, arg_pos)
   MI_FPARAM *fparam_ptr;
   mi_integer arg_pos;
fparam_ptr
A pointer to the associated MI_FPARAM structure.
arg_pos
The index position into the argument-length array for the argument whose length you want.
Valid in client LIBMI application? Valid in user-defined routine?
Yes Yes

Usage

The mi_fp_arglen() function obtains the length of the routine argument at position arg_pos from the MI_FPARAM structure that fparam_ptr references. The MI_FPARAM structure stores information about the lengths of routine arguments in the zero-based argument-length array. To obtain information about the nth argument, use an arg_pos value of n-1. For example, the following call to mi_fp_arglen() obtains the length for the third argument of the my_func() UDR, with which fparam1 is associated:
mi_integer my_func(..., fparam1)
   ...
   MI_FPARAM *fparam1;
{
   mi_integer arg_len;
   ...
   arg_len = mi_fp_arglen(fparam1, 2);

For more information about argument information in an MI_FPARAM structure, see the Informix® DataBlade® API Programmer's Guide.

Return values

>=0
The length, in bytes, of the argument at position arg_pos.
MI_ERROR
The function was not successful.