mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-22 19:29:24 +02:00
* Routines that certainly will be shared between Linux and *BSD
This commit is contained in:
parent
10f2ceeab8
commit
13dfb6c1ce
73
rtl/unix/posixunx.inc
Normal file
73
rtl/unix/posixunx.inc
Normal file
@ -0,0 +1,73 @@
|
||||
{
|
||||
$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 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.1 2002-10-27 13:16:54 marco
|
||||
* Routines that certainly will be shared between Linux and *BSD
|
||||
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user