--- Igor Robul <[EMAIL PROTECTED]> wrote:

> Rob wrote:
> 
> >--- Igor Robul <[EMAIL PROTECTED]> wrote:
> >  
> >
> >First:
> >NULL return from dlsym() does not always imply an
> >error. dlsym() can return NULL because it has an
> >empty list, but this does not set the error
> >indicator of dlerror(), because it is not an error.
> >However, if an error occurs, dlsym() has NULL as
> >a return (that's probably most sensible return).
> >  
> >
>  From manual page:
> 
> The dlsym() function returns a null pointer if the
> symbol cannot be 
> found, and sets an error condition
>  which may be queried with dlerror().

This is a matter of symantic and logic.

I /can/ read this as follows:

If the symbol cannot be found, then dlsym() returns
a null pointer *AND* sets the error condition.

However, dlsym() can also return the null pointer,
*WITHOUT* setting the error condition. The latter
case seems to be better specified in the Linux
manpages of dlsym(). Hence the conflict between
FreeBSD and Linux/Grace, I guess.

Rob.



        
                
__________________________________ 
Yahoo! Mail - PC Magazine Editors' Choice 2005 
http://mail.yahoo.com
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to