Kbase P113476: PRODSP() does not receive the function name in 10.1A.
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  4/27/2009 |
|
Status: Verified
SYMPTOM(s):
Getting PRODSP: Unknown HLC function when using a customized HLC executable.
PRODSP() does not receive the function name.
PRODSP: Unknown HLC function.
The "Call Statement Failed" error appears when calling the function
Sample code that generates the issue:
define new shared var PID as integer no-undo.
CALL GETPID "PID".
message "pid" PID.
First parameter pfunnam of PRODSP does not point to a string.
FACT(s) (Environment):
Used to work in OpenEdge 10.0B.
OpenEdge 10.1A
Solaris
CAUSE:
Bug# OE00126742
CAUSE:
The first parameter of PRODSP() does not receive a pointer to the function name, but rather a pointer to the pointer to the function name. This is *not* the intended behavior.
FIX:
Upgrade to OpenEdge 10.1A01 or later.
If upgrading is not an option, the workaround is to take the function name from the third parameter. For example, you should declare:
int
PRODSP(pfunnam, argc, argv)
char *pfunnam; /* Name of function to call, now invalid. */
int argc;
char *argv[];
{
pfunnam = argv[0]; /* Add this to work around the problem. */
/* Code */
}