Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 93 → Rev 94

/shark/trunk/oslib/xlib/x1.c
98,6 → 98,7
void _startup(void)
{
register int i = 0;
char temp[1000];
struct multiboot_info *mbi = mbi_address();
char *cmdline = (char *)(mbi->cmdline);
 
105,16 → 106,21
cputs("X/Runtime library error!!! Unable to find memory information!\n");
l1_exit(-1);
}
 
if (mbi->flags & MB_INFO_CMDLINE) {
/* Build parameter list, up to 100 parms... */
while (cmdline[i] != 0) {
_argv[_argc] = &(cmdline[i]);
while (cmdline[i] != ' ' && cmdline[i] != 0) i++;
while (cmdline[i] != 0 && i < 1000) {
temp[i] = cmdline[i];
_argv[_argc] = &(temp[i]);
while (cmdline[i] != ' ' && cmdline[i] != 0 && i < 1000) {
temp[i] = cmdline[i];
i++;
}
if (cmdline[i] == ' ') {
cmdline[i] = 0; i++; _argc++;
temp[i] = 0; i++; _argc++;
}
}
temp[i] = 0;
_argc++;
}
122,7 → 128,8
/* Call main procedure using standard C convention */
/* Remember you cannot call any console I/O function */
/* if you do not call bios_save() */
 
 
#ifdef __DUMP_MEM__
message("X/MEM : %u\n",mbi->mem_upper);
message("DOS/MEM : %u\n",mbi->mem_lower);
129,8 → 136,8
message("x_bios Size : %u\n",sizeof(X_BIOSCALL));
message("mbi Size : %u\n",sizeof(struct multiboot_info));
message("Cmdline : %s\n",mbi->cmdline);
message("Argc : %u",_argc);
message("Argv[0] : %s / %s\n",_argv[0]);
message("Argc : %u\n",_argc);
message("Argv[0] : %s\n",_argv[0]);
message("Argv[1] : %s\n",_argv[1]);
message("Argv[2] : %s\n",_argv[2]);
message("Argv[3] : %s\n",_argv[3]);