Hello Charles, i implemented the double pointer to fix an issue as you suggested like this:
FUNCTION OPTIONALLYADDFUNC(?ARR_STRINGDATA *sd, LONG *index, STRING **ce) AS LONG
END FUNCTION
This fixes all the issues with any variable type, but if i ever invoke the function using a literal string like this:
OPTIONALLYADDFUNC(sd, index, "0, ")
I get this during compilation:
ERROR: ASSEMBLER:
ERR: lea eax,"0, "!! Can't identify next operand '
LINE: 1094
FILE: "main source
I know removing the double pointer fixes it but i cant generate different code depending on how it is invoked because a function can be invoked in several ways throgouth the program. Is there another way to avoid this?
The code compiles fine when it is a function, like this:
OPTIONALLYADDFUNC(sd, index, TRIM$("0, ", 0, null))
So i wonder if this is an issue with Oxygen?