Browse Source

--- Merging r14902 into '.':
U rtl/unix/dynlibs.inc
U rtl/wince/dynlibs.inc
U rtl/netwlibc/dynlibs.inc
U rtl/win/dynlibs.inc
U rtl/os2/dynlibs.inc
C rtl/inc/dynlibs.pas
--- Merging r16366 into '.':
G rtl/unix/dynlibs.inc
G rtl/wince/dynlibs.inc
G rtl/netwlibc/dynlibs.inc
G rtl/win/dynlibs.inc
G rtl/os2/dynlibs.inc
G rtl/inc/dynlibs.pas
Summary of conflicts:
Text conflicts: 1

# revisions: 14902,16366
------------------------------------------------------------------------
r14902 | hajny | 2010-02-13 16:44:12 +0100 (Sat, 13 Feb 2010) | 1 line
Changed paths:
M /trunk/rtl/inc/dynlibs.pas
M /trunk/rtl/netwlibc/dynlibs.inc
M /trunk/rtl/os2/dynlibs.inc
M /trunk/rtl/unix/dynlibs.inc
M /trunk/rtl/win/dynlibs.inc
M /trunk/rtl/wince/dynlibs.inc

* SharedSuffix moved to include files to reduce number of ifdefs
------------------------------------------------------------------------
------------------------------------------------------------------------
r16366 | sergei | 2010-11-18 23:09:48 +0100 (Thu, 18 Nov 2010) | 1 line
Changed paths:
M /trunk/rtl/inc/dynlibs.pas
M /trunk/rtl/netwlibc/dynlibs.inc
M /trunk/rtl/os2/dynlibs.inc
M /trunk/rtl/unix/dynlibs.inc
M /trunk/rtl/win/dynlibs.inc
M /trunk/rtl/wince/dynlibs.inc

* dynlibs.pas: added 'const' modifiers to eliminate unnecessary local string copies
------------------------------------------------------------------------

git-svn-id: branches/fixes_2_4@16865 -

marco 14 years ago
parent
commit
748f4da6b4
6 changed files with 30 additions and 32 deletions
  1. 6 22
      rtl/inc/dynlibs.pas
  2. 4 2
      rtl/netwlibc/dynlibs.inc
  3. 4 2
      rtl/os2/dynlibs.inc
  4. 8 2
      rtl/unix/dynlibs.inc
  5. 4 2
      rtl/win/dynlibs.inc
  6. 4 2
      rtl/wince/dynlibs.inc

+ 6 - 22
rtl/inc/dynlibs.pas

@@ -33,35 +33,19 @@ interface
   ---------------------------------------------------------------------}
   ---------------------------------------------------------------------}
 
 
 
 
-Function SafeLoadLibrary(Name : AnsiString) : TLibHandle;
-Function LoadLibrary(Name : AnsiString) : TLibHandle;
-Function GetProcedureAddress(Lib : TlibHandle; ProcName : AnsiString) : Pointer;
+Function SafeLoadLibrary(const Name : AnsiString) : TLibHandle;
+Function LoadLibrary(const Name : AnsiString) : TLibHandle;
+Function GetProcedureAddress(Lib : TlibHandle; const ProcName : AnsiString) : Pointer;
 Function UnloadLibrary(Lib : TLibHandle) : Boolean;
 Function UnloadLibrary(Lib : TLibHandle) : Boolean;
 
 
 // Kylix/Delphi compability
 // Kylix/Delphi compability
 
 
 Function FreeLibrary(Lib : TLibHandle) : Boolean;
 Function FreeLibrary(Lib : TLibHandle) : Boolean;
-Function GetProcAddress(Lib : TlibHandle; ProcName : AnsiString) : Pointer;
+Function GetProcAddress(Lib : TlibHandle; const ProcName : AnsiString) : Pointer;
 
 
 Type
 Type
   HModule = TLibHandle; 
   HModule = TLibHandle; 
 
 
-// these are for easier crossplatform construction of dll names in dynloading libs.
-Const
- {$ifdef Windows}
-  SharedSuffix  = 'dll';
- {$else}
-   {$ifdef Darwin}
-     SharedSuffix = 'dylib';
-   {$else}
-     {$ifdef OS2}
-       SharedSuffix = 'dll';
-     {$else}
-       SharedSuffix = 'so';  
-     {$endif}
-   {$endif}
- {$endif}      
-      
 Implementation
 Implementation
 
 
 { ---------------------------------------------------------------------
 { ---------------------------------------------------------------------
@@ -76,13 +60,13 @@ begin
   Result:=UnloadLibrary(lib);
   Result:=UnloadLibrary(lib);
 end;
 end;
 
 
-Function GetProcAddress(Lib : TlibHandle; ProcName : AnsiString) : Pointer;
+Function GetProcAddress(Lib : TlibHandle; const ProcName : AnsiString) : Pointer;
 
 
 begin
 begin
   Result:=GetProcedureAddress(Lib,Procname);
   Result:=GetProcedureAddress(Lib,Procname);
 end;
 end;
 
 
-Function SafeLoadLibrary(Name : AnsiString) : TLibHandle;
+Function SafeLoadLibrary(const Name : AnsiString) : TLibHandle;
 
 
 {$ifdef i386}
 {$ifdef i386}
  var w : word;
  var w : word;

+ 4 - 2
rtl/netwlibc/dynlibs.inc

@@ -24,6 +24,8 @@ Type
 
 
 Const
 Const
   NilHandle = Nil;
   NilHandle = Nil;
+// these are for easier crossplatform construction of dll names in dynloading libs.
+  SharedSuffix = 'so';
 
 
 {$else}
 {$else}
 
 
@@ -33,13 +35,13 @@ Const
 
 
 uses libc;
 uses libc;
 
 
-Function LoadLibrary(Name : AnsiString) : TLibHandle;
+Function LoadLibrary(const Name : AnsiString) : TLibHandle;
 
 
 begin
 begin
   Result:=dlopen(Pchar(Name),RTLD_LAZY);
   Result:=dlopen(Pchar(Name),RTLD_LAZY);
 end;
 end;
 
 
-Function GetProcedureAddress(Lib : TLibHandle; ProcName : AnsiString) : Pointer;
+Function GetProcedureAddress(Lib : TLibHandle; const ProcName : AnsiString) : Pointer;
 
 
 begin
 begin
   Result:=dlsym(lib,pchar(ProcName));
   Result:=dlsym(lib,pchar(ProcName));

+ 4 - 2
rtl/os2/dynlibs.inc

@@ -25,6 +25,8 @@ type
 
 
 const
 const
  NilHandle = 0;
  NilHandle = 0;
+// these are for easier crossplatform construction of dll names in dynloading libs.
+ SharedSuffix  = 'dll';
 
 
 {$else}
 {$else}
 
 
@@ -35,7 +37,7 @@ const
 uses
 uses
  DosCalls;
  DosCalls;
 
 
-function LoadLibrary (Name: AnsiString): TLibHandle;
+function LoadLibrary (const Name: AnsiString): TLibHandle;
 var
 var
  ErrPath: array [0..259] of char;
  ErrPath: array [0..259] of char;
  Handle: longint;
  Handle: longint;
@@ -44,7 +46,7 @@ begin
                                 then Result := Handle else Result := NilHandle;
                                 then Result := Handle else Result := NilHandle;
 end;
 end;
 
 
-function GetProcedureAddress (Lib: TLibHandle; ProcName: AnsiString): pointer;
+function GetProcedureAddress (Lib: TLibHandle; const ProcName: AnsiString): pointer;
 var
 var
  P: pointer;
  P: pointer;
 begin
 begin

+ 8 - 2
rtl/unix/dynlibs.inc

@@ -25,6 +25,12 @@ Type
 
 
 Const
 Const
   NilHandle = TLibHandle(0);
   NilHandle = TLibHandle(0);
+// these are for easier crossplatform construction of dll names in dynloading libs.
+{$ifdef Darwin}
+  SharedSuffix = 'dylib';
+{$else Darwin}
+  SharedSuffix = 'so';
+{$endif Darwin}
 
 
 {$else}
 {$else}
 
 
@@ -34,13 +40,13 @@ Const
 
 
 uses dl;
 uses dl;
 
 
-Function LoadLibrary(Name : AnsiString) : TLibHandle;
+Function LoadLibrary(const Name : AnsiString) : TLibHandle;
 
 
 begin
 begin
   Result:=TLibHandle(dlopen(Pchar(Name),RTLD_LAZY));
   Result:=TLibHandle(dlopen(Pchar(Name),RTLD_LAZY));
 end;
 end;
 
 
-Function GetProcedureAddress(Lib : TLibHandle; ProcName : AnsiString) : Pointer;
+Function GetProcedureAddress(Lib : TLibHandle; const ProcName : AnsiString) : Pointer;
 
 
 begin
 begin
   Result:=dlsym(lib,pchar(ProcName));
   Result:=dlsym(lib,pchar(ProcName));

+ 4 - 2
rtl/win/dynlibs.inc

@@ -25,6 +25,8 @@ Type
 
 
 Const
 Const
   NilHandle = 0;
   NilHandle = 0;
+// these are for easier crossplatform construction of dll names in dynloading libs.
+  SharedSuffix = 'dll';
 
 
 {$else}
 {$else}
 
 
@@ -34,13 +36,13 @@ Const
 
 
 Uses windows;
 Uses windows;
 
 
-Function LoadLibrary(Name : AnsiString) : TlibHandle;
+Function LoadLibrary(const Name : AnsiString) : TlibHandle;
 
 
 begin
 begin
   Result:=Windows.LoadLibrary(PChar(Name));
   Result:=Windows.LoadLibrary(PChar(Name));
 end;
 end;
 
 
-Function GetProcedureAddress(Lib : TLibHandle; ProcName : AnsiString) : Pointer;
+Function GetProcedureAddress(Lib : TLibHandle; const ProcName : AnsiString) : Pointer;
 
 
 begin
 begin
   Result:=Windows.GetProcAddress(Lib,PChar(ProcName));
   Result:=Windows.GetProcAddress(Lib,PChar(ProcName));

+ 4 - 2
rtl/wince/dynlibs.inc

@@ -25,6 +25,8 @@ Type
 
 
 Const
 Const
   NilHandle = 0;
   NilHandle = 0;
+// these are for easier crossplatform construction of dll names in dynloading libs.
+  SharedSuffix = 'dll';
 
 
 {$else}
 {$else}
 
 
@@ -34,7 +36,7 @@ Const
 
 
 Uses windows;
 Uses windows;
 
 
-Function LoadLibrary(Name : AnsiString) : TlibHandle;
+Function LoadLibrary(const Name : AnsiString) : TlibHandle;
 var
 var
   ws: PWideChar;
   ws: PWideChar;
 begin
 begin
@@ -43,7 +45,7 @@ begin
   FreeMem(ws);
   FreeMem(ws);
 end;
 end;
 
 
-Function GetProcedureAddress(Lib : TLibHandle; ProcName : AnsiString) : Pointer;
+Function GetProcedureAddress(Lib : TLibHandle; const ProcName : AnsiString) : Pointer;
 var
 var
   ws: PWideChar;
   ws: PWideChar;
 begin
 begin