From e0a2b8d82a5521d9391ca8c6f055777954c76c2f Mon Sep 17 00:00:00 2001 From: "Charles.Forsyth" Date: Wed, 25 Mar 2009 16:37:32 +0000 Subject: x20090315-1636 --- emu/port/devdynld.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'emu/port/devdynld.c') diff --git a/emu/port/devdynld.c b/emu/port/devdynld.c index 68084707..b447d797 100644 --- a/emu/port/devdynld.c +++ b/emu/port/devdynld.c @@ -119,7 +119,7 @@ devload(char *path) { int i; Dyndev *l; - Dev *dev; + Dev *dev, *curdev; char devname[32]; l = dlload(path, _exporttab, dyntabsize(_exporttab)); @@ -131,8 +131,11 @@ devload(char *path) dev = dynimport(l->o, devname, signof(*dev)); if(dev == nil) error("no devtab"); - if(devno(dev->dc, 1) >= 0) + curdev = devtabget(dev->dc, 1); + if(curdev != nil){ + devtabput(curdev); error("device loaded"); + } for(i = 0; devtab[i] != nil; i++) ; if(i >= ndevs || devtab[i+1] != nil) @@ -321,7 +324,9 @@ Dev dynlddevtab = { DEVCHAR, "dynld", + devreset, devinit, + devshutdown, dlattach, dlwalk, dlstat, -- cgit v1.2.3