2.4.3.21. ex_ConvertName()

[<<<] [>>>]

Use this function to convert a relative name to absolute containing name space.

This function checks if the variable or function name is relative or absolute. If the name is relative it creates the absolute name using the current name space as a base.

The result is always put into the Buffer.

A name is relative if it does NOT contain :: at all (implicit relative), if it starts with :: or is it starts with _:: (explicit relative).

int ex_ConvertName(char *s,          /* name to convert            */
                   char *Buffer,     /* buffer to store the result */
                   size_t cbBuffer,  /* size of the buffer         */
                   peXobject pEx     /* current expression object  */
  )@{

The error value is EX_ERROR_SUCCESS (zero) menaing succesful conversion or EX_ERROR_TOO_LONG_VARIABLE meaning that the variable is too long for the buffer.

Note that the buffer is allocated in ex_init() according to the size value given in the class variable cbBuffer, which should be set by the main function calling syntax analysis.


[<<<] [>>>]