AW: Compile ClearSilver on System i

"Schmidt, Mihael" <[email protected]> Fri, 12 Jun 2009 07:17:20 +0200
Newsgroups gmane.text.clearsilver.general
Message-ID <[email protected]>
-- 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