I think I have found my source of "unknown error" messages in my program. I
was checking the return value of lt_dlerror() to see if any errors might have
occured. I believe the autobook says this is a good idea. And it used to
work too.
The documentation for lt_dlerror() says:
- Function: const char * lt_dlerror (void)
Return a human readable string describing the most recent error
that occurred from any of libltdl's functions. Return `NULL' if
no errors have occurred since initialization or since it was last
called.
I was checking for that NULL return value to make sure no errors had occured.
However, looking at the code in ltdl.c:
const char *
lt_dlerror ()
{
const char *error;
LT_DLMUTEX_GETERROR (error);
LT_DLMUTEX_SETERROR (0);
return error ? error : LT_DLSTRERROR (UNKNOWN);
}
It seems to me that lt_dlerror() is going to *always* return a non-NULL value,
since LT_DLSTRERROR (UNKNOWN) becomes "unknown error". That last line should
instead be:
return error ? error : NULL;
Or am I missing something?
--
--John Gruenenfelder Research Assistant, Steward Observatory, U of Arizona
[EMAIL PROTECTED]
"This is the most fun I've had without being drenched in the blood
of my enemies!"
--Sam of Sam & Max
_______________________________________________
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool