X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Fmodules.c;h=44c4cb518fb77cd44f43102f61484e9b08f8218f;hb=c7c5c4dbeb7b298675856eebb36084c92e989d98;hp=9ae940a69da9c16eb5365c51d92a5b42e828a9b2;hpb=47e9dfd89189fc6b150bd6b20229cb047c7e0858;p=tpg%2Facess2.git diff --git a/Kernel/modules.c b/Kernel/modules.c index 9ae940a6..44c4cb51 100644 --- a/Kernel/modules.c +++ b/Kernel/modules.c @@ -6,6 +6,7 @@ #include // === PROTOTYPES === + int Modules_LoadBuiltins(); int Module_LoadMem(void *Buffer, Uint Length, char *ArgString); int Module_LoadFile(char *Path, char *ArgString); int Module_int_ResolveDeps(tModule *Info); @@ -97,9 +98,13 @@ int Modules_LoadBuiltins() gKernelModules[i].Name, gKernelModules[i].Version>>8, gKernelModules[i].Version & 0xFF ); - gKernelModules[i].Init(NULL); + if( gKernelModules[i].Init(NULL) == 0 ) { + Log("Loading Failed, all modules that depend on this will also fail"); + baIsLoaded[i] = -1; + } // Mark as loaded - baIsLoaded[i] = 1; + else + baIsLoaded[i] = 1; numToInit --; } } @@ -115,7 +120,7 @@ int Module_LoadMem(void *Buffer, Uint Length, char *ArgString) { char path[VFS_MEMPATH_SIZE]; - VFS_GetMemPath(Buffer, Length, path); + VFS_GetMemPath(path, Buffer, Length); return Module_LoadFile( path, ArgString ); }