diff --git a/rtl/unix/posixunx.inc b/rtl/unix/posixunx.inc deleted file mode 100644 index e28c4ac821..0000000000 --- a/rtl/unix/posixunx.inc +++ /dev/null @@ -1,123 +0,0 @@ -{ - $Id$ - This file is part of the Free Pascal run time library. - Copyright (c) 2002 by Marco van de Voort. - - A few general purpose routines. General purpose enough for *BSD - and Linux at least. - - See the file COPYING.FPC, included in this distribution, - for details about the copyright. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - **********************************************************************} - -function InternalCreateShellArgV(cmd:pChar; len:longint):ppchar; -{ - Create an argv which executes a command in a shell using /bin/sh -c -} -const Shell = '/bin/sh'#0'-c'#0; -var - pp,p : ppchar; -// temp : string; !! Never pass a local var back!! -begin - getmem(pp,4*4); - p:=pp; - p^:=@Shell[1]; - inc(p); - p^:=@Shell[9]; - inc(p); - getmem(p^,len+1); - move(cmd^,p^^,len); - pchar(p^)[len]:=#0; - inc(p); - p^:=Nil; - InternalCreateShellArgV:=pp; -end; - -function CreateShellArgV(const prog:string):ppchar; -begin - CreateShellArgV:=InternalCreateShellArgV(@prog[1],length(prog)); -end; - -function CreateShellArgV(const prog:Ansistring):ppchar; -{ - Create an argv which executes a command in a shell using /bin/sh -c - using a AnsiString; -} -begin - CreateShellArgV:=InternalCreateShellArgV(@prog[1],length(prog)); // if ppc works like delphi this also work when @prog[1] is invalid (len=0) -end; - - -procedure FreeShellArgV(p:ppchar); -begin - if (p<>nil) then begin - freemem(p[2]); - freemem(p); - end; -end; - - -Function sys_getenv(const name:pchar):pchar; - -var - p : ppchar; - found : boolean; - np,cp : pchar; - len,i : longint; -Begin - if (name=nil) or (envp=NIL) Then - exit(NIL); - np:=name; - while (np^<>#0) and (np^<>'=') DO - inc(np); - len:=np-name; - p:=envp; - while (p^<>NIL) DO - Begin - cp:=p^; - np:=name; - i:=len; - while (i<>0) and (cp^<>#0) DO - Begin - if cp^<>np^ Then - Begin - inc(cp); inc(np); - break; - End; - inc(cp); inc(np); - dec(i) - End; - if (i=0) and (cp^='=') Then - exit(cp+1); - inc(p); - end; -End; - -Function sys_getenv(name:string):Pchar; -{ - Searches the environment for a string with name p and - returns a pchar to it's value. - A pchar is used to accomodate for strings of length > 255 -} - - -Begin - name:=name+'='; {Else HOST will also find HOSTNAME, etc} - sys_getenv:=sys_getenv(@name[1]); -end; - -{ - $Log$ - Revision 1.2 2002-10-27 17:21:30 marco - * Only "difficult" functions + execvp + termios + rewinddir left to do - - Revision 1.1 2002/10/27 13:16:54 marco - * Routines that certainly will be shared between Linux and *BSD - - -} \ No newline at end of file