|
AW: Compile ClearSilver on System i
-- Schmidt, Mihael wrote:
> Question: Why is dict.c calling nerr_raise with only 2 parm. Shouldn't
it be
> three parms (error type, format string and error message)? I
definitely got
> something wrong but I don't know what?
nerr_raise() is setup to work like the printf() family of functions. For
example, you might have:
nerr_raise(NERR_ASSERT, "problematic value %d", local_variable_int);
Because the statement you referenced has no % formatting, it has no
arguments.
nerr_raise(NERR_ASSERT, "value or new are NULL");
Mihael: ... and that was my problem. The ILE C compiler expects to have
at least one variable argument if __VA_ARGS__ is used. I added an empty
string and it works now, like:
nerr_raise(NERR_ASSERT, "value or new are NULL", "");
But now I got another problem: The lockf() function is not available on
System i for ILE C. Is there a way to replace this function? A
workaround?
lockf() is used in util/ulock.c, function fLock and fFind.
Any ideas would be great.
Thanx in advance.
Mihael
|