X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Fsystem.c;h=a99603849c6b9187bd21447e391f60d97d1c8eeb;hb=881a49e0164c582d24db527e474f587a8b5e0c32;hp=7c5ff32feac923125cc41c24ae53cf60564cc3d3;hpb=b98fbd4e9c71447d81fc9bd643fb174c76346e0f;p=tpg%2Facess2.git diff --git a/Kernel/system.c b/Kernel/system.c index 7c5ff32f..a9960384 100644 --- a/Kernel/system.c +++ b/Kernel/system.c @@ -23,7 +23,7 @@ typedef struct } tConfigFile; typedef struct { - char *Name; // Name + const char *Name; // Name int MinArgs; // Minimum number of arguments int MaxArgs; // Maximum number of arguments Uint IntArgs; // Bitmap of arguments that should be treated as integers @@ -32,10 +32,10 @@ typedef struct } tConfigCommand; // === IMPORTS === -extern void Arch_LoadBootModules(); -extern int Modules_LoadBuiltins(); +extern void Arch_LoadBootModules(void); +extern int Modules_LoadBuiltins(void); extern void Modules_SetBuiltinParams(char *Name, char *ArgString); -extern void Debug_SetKTerminal(char *File); +extern void Debug_SetKTerminal(const char *File); // === PROTOTYPES === void System_Init(char *Commandline); @@ -64,7 +64,7 @@ const tConfigCommand caConfigCommands[] = { #define NUM_CONFIG_COMMANDS (sizeof(caConfigCommands)/sizeof(caConfigCommands[0])) // === GLOBALS === -char *gsConfigScript = "/Acess/Conf/BootConf.cfg"; +const char *gsConfigScript = "/Acess/Conf/BootConf.cfg"; char *argv[32]; int argc; @@ -99,7 +99,8 @@ void System_ParseCommandLine(char *ArgString) int i; char *str; - Log_Log("Config", "Kernel Invocation \"%s\"", ArgString); + Log_Log("Config", "Kernel Invocation (%p) \"%s\"", ArgString, ArgString); + Log_Log("Config", "Kernel Invocation '0x%x 0x%x'", ArgString[0], ArgString[1]); // --- Get Arguments --- str = ArgString; @@ -126,7 +127,7 @@ void System_ParseCommandLine(char *ArgString) argc ++; // Count last argument // --- Parse Arguments (Pass 1) --- - for( i = 1; i < argc; i++ ) + for( i = 0; i < argc; i++ ) { switch(argv[i][0]) { @@ -152,8 +153,9 @@ void System_ParseCommandLine(char *ArgString) void System_ExecuteCommandLine(void) { int i; - for( i = 1; i < argc; i++ ) + for( i = 0; i < argc; i++ ) { + Log("argv[%i] = '%s'", i, argv[i]); switch(argv[i][0]) { // --- VFS --- @@ -219,7 +221,8 @@ void System_ParseVFS(char *Arg) } /** - * \biref Parse a module argument string + * \brief Parse a module argument string + * \param Arg Argument string */ void System_ParseModuleArgs(char *Arg) { @@ -545,6 +548,7 @@ tConfigFile *System_Int_ParseFile(char *FileData) start = ptr; ret->Lines[i].nParts = 0; + ret->Lines[i].Parts = NULL; // Count parts for(;;) @@ -637,6 +641,12 @@ tConfigFile *System_Int_ParseFile(char *FileData) } } + if( i < ret->nLines ) { + ret->Lines[i].nParts = 0; + ret->Lines[i].Parts = NULL; + Log_Log("System", "Cleaning up final empty line"); + } + LEAVE('p', ret); return ret; }