> LOL,
>         It seems we do detect ENOENT when we can't open a shared lib because 
> of it not being there.  But, we do still have a problem and it is here
>   mod = dlopen (modname, RTLD_LAZY);
>   if (mod == NULL)
>     {
>       const char *errstring = dlerror (); /* Must always call or it leaks! */
>       if (errno != ENOENT)
>         /* XXX not good, but how else to report the error? */
>         error (0, 0, "cannot load %s: %s", modname, errstring);
>     }
It seems errno never gets set even tho the shared lib does not exists.  
This is the reason for the output of the error.

free (modname);
  if (mod == NULL)
    return errno ?: ENOENT;
It seems here if mod is NULL return the errno or ENOENT?(Not sure) but it when 
printing the error that is return by that return we get ENOSYS.Why?

Thanks
hde
> If the shared lib does not exists shouldn't we return ENOENT and not output 
> it using error (..);?
> 
> Thanks
> hde
> 
> P.S. Sorry about that.
> 
> 
> 
> _______________________________________________
> Bug-hurd mailing list
> [EMAIL PROTECTED]
> http://lists.gnu.org/mailman/listinfo/bug-hurd



_______________________________________________
Bug-hurd mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/bug-hurd

Reply via email to