[DGD] Possible KernalLib Bug.

Michael McKiel crashnbrn71 at yahoo.ca
Tue Mar 23 04:08:50 CET 2004


 --- Steven Brooker <immortius at yahoo.com> wrote: > While mucking around
building a Mudlib ontop of the
> kernel lib, I believe I have discovered a bug in the
> experimental branch of DGD (v1.2.86).
> 
> As soon as you create and set an objectd, all files
> outside of /kernel/ and /usr/System/ will not compile
> - the error is "Runtime error: Bad argument 1 for kfun
> sscanf [caught]".  A bit of investigation shows that
> this is caused when the objectd's path_special()
> function returns nil - after the driver calls
> path_special(), it calls access() in Kernel's accessd,
> tring to see if the compiling file has access to the
> path returned by path_special().  access() then
> immediately tries to sscanf the nil value and causes
> the Runtime error.
> 
> I say this is a possible bug, because it is easy to
> fix by making path_special() return "" instead.  But I
> would have thought the default behaviour when nil is
> returned would be to not include anything special and
> to still work. :P But I could be entirely wrong.
> 
> -- Immortius

I'm only running 1.2.82, but unless something has really changed.
The kernel lib doesn't come with an objectd.c You have to make one.
And IF you make one, and IF you put a path_special() function in it, 
then it's default return should be "", for files that have no special
inheritance going on.

And it(path_special) should only be called if you put an:
    #include "AUTO"
in your std.h file, and create an empty file called 'AUTO'

If that helps at all...


______________________________________________________________________ 
Post your free ad now! http://personals.yahoo.ca
_________________________________________________________________
List config page:  http://list.imaginary.com/mailman/listinfo/dgd



More information about the DGD mailing list