--- .\old\rtl\go32v2\system.pp	Sat Jun 30 16:38:26 2007
+++ .\new\rtl\go32v2\system.pp	Sat Jun 30 16:53:38 2007
@@ -171,7 +171,7 @@
   useproxy : boolean;
   hp       : ppchar;
   doscmd   : string[129];  { Dos commandline copied from PSP, max is 128 chars +1 for terminating zero }
-  arglen,cmdlen,
+  arglen,
   count   : longint;
   argstart,
   pc,arg  : pchar;
@@ -231,13 +231,12 @@
   move(dos_argv0^,argv[count]^,argv0len+1);
   inc(count);
   { setup cmdline variable }
-  cmdlen:=argv0len+length(doscmd)+2;
-  cmdline:=Getmem(cmdlen);
+  cmdline:=Getmem(argv0len+length(doscmd)+2);
   move(dos_argv0^,cmdline^,argv0len);
   cmdline[argv0len]:=' ';
   inc(argv0len);
   move(doscmd[1],cmdline[argv0len],length(doscmd));
-  cmdline[cmdlen-1]:=#0;
+  cmdline[argv0len+length(doscmd)]:=#0;
   { parse dos commandline }
   pc:=@doscmd[1];
   while pc^<>#0 do
@@ -525,7 +524,7 @@
         movb    $0x20,%al
         outb    %al,$0x0a0
         outb    %al,$0x020
-  end;
+  end ['EAX'];
   HandleError(200);
 end;
 {$endif EXCEPTIONS_IN_SYSTEM}
