[fpc-devel]compiler/options.pas diff
Sergey Korshunoff
Sergey.Korshunoff at p5.f2666.n5020.z2.fidonet.org
Sat Sep 1 02:48:00 CEST 2001
02 óÅÎ 01 17:21, Peter Vreman wrote to me:
> We have a nice program 'fpc' in compiler/util.
> But we can not get a FPC help if we call 'fpc' utility
> without any parameter. There is a patch:
....
PV> This is a hack, not a real solution. ParamStr(1) being empty and
PV> paramcount=1 means that you call things like 'ppc386 ""'. Maybe not
PV> all platforms support that even correctly. So it needs to be fixed in
PV> fpc.pas and not in options.pas
I wrote small test:
=================================================================
program aaa;
begin
WriteLn('paramcount=', paramcount);
WriteLn('paramStr(0)=[', paramStr(0),']');
WriteLn('paramStr(1)=[', paramStr(1),']');
end.
=================================================================
program bbb;
Uses dos;
begin
Exec('./aaa','');
end.
=================================================================
There is output from ./bbb:
paramcount=1
paramStr(0)=[./aaa]
paramStr(1)=[]
As You can see, paramcount=1
Error definitely is not in fpc.pas.
Another diff (for 1.1.x RTL):
===============================================================
-+- linux.pp.old Sat Sep 1 03:37:06 2001
+++ linux.pp Sat Sep 1 03:39:27 2001
@@ -2195,16 +2195,20 @@
-Function StringToPPChar(Var S:STring):ppchar;
+Function StringToPPChar(var S: String): ppchar;
{
Create a PPChar to structure of pchars which are the arguments specified
in the string S. Especially usefull for creating an ArgV for Exec-calls
}
var
+ i : integer;
nr : longint;
Buf : ^char;
p : ppchar;
begin
+ i:=Length(s);
+ while (i>0) and (s[i] in [' ',#8,#10]) do dec(i);
+ SetLength(s,i);
s:=s+#0;
buf:=@s[1];
nr:=0;
===============================================================
Regards,
Sergey Korshunoff
More information about the fpc-devel
mailing list