summaryrefslogtreecommitdiff
path: root/packages/mysql
diff options
context:
space:
mode:
authorivost <ivost@3ad0048d-3df7-0310-abae-a5850022a9f2>2009-03-27 02:38:57 +0000
committerivost <ivost@3ad0048d-3df7-0310-abae-a5850022a9f2>2009-03-27 02:38:57 +0000
commit9644e6f7c41a87a3ba634d015732094fa7efe6f6 (patch)
treef0a6928f5735e0720bb719d5a55478c830c35fb7 /packages/mysql
parente941c25e6efa8a1236b172b3052ce342cabbbe15 (diff)
downloadfpc-9644e6f7c41a87a3ba634d015732094fa7efe6f6.tar.gz
* fixed call of mysql_library_init in TryInitializeMysql
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@12966 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/mysql')
-rw-r--r--packages/mysql/src/mysql.inc26
1 files changed, 16 insertions, 10 deletions
diff --git a/packages/mysql/src/mysql.inc b/packages/mysql/src/mysql.inc
index a42b2d9777..9528db3a75 100644
--- a/packages/mysql/src/mysql.inc
+++ b/packages/mysql/src/mysql.inc
@@ -1486,8 +1486,8 @@ uses
{$endif}
{$IFDEF LinkDynamically}
-Function InitialiseMysql(Const LibraryName : String; argc:cint = 0; argv:PPchar = nil; groups:PPchar = nil) : Integer;
-Function InitialiseMysql(argc:cint = 0; argv:PPchar = nil; groups:PPchar = nil) : Integer;
+Function InitialiseMysql(Const LibraryName : String; argc:cint = -1; argv:PPchar = nil; groups:PPchar = nil) : Integer;
+Function InitialiseMysql(argc:cint = -1; argv:PPchar = nil; groups:PPchar = nil) : Integer;
Procedure ReleaseMysql;
var MysqlLibraryHandle : TLibHandle;
@@ -1506,13 +1506,12 @@ var
RefCount : integer;
LoadedLibrary : String;
-Function TryInitialiseMysql(Const LibraryName : String; argc:cint = 0; argv:PPchar = nil; groups:PPchar = nil) : Integer;
-
+Function TryInitialiseMysql(Const LibraryName: String; argc: cint; argv: PPchar; groups: PPchar) : Integer;
begin
Result := 0;
if (RefCount=0) then
- begin
+ begin
MysqlLibraryHandle := loadlibrary(LibraryName);
if (MysqlLibraryHandle=nilhandle) then
Exit;
@@ -1620,14 +1619,21 @@ begin
pointer(mysql_stmt_insert_id) := GetProcedureAddress(MysqlLibraryHandle,'mysql_stmt_insert_id');
pointer(mysql_stmt_field_count) := GetProcedureAddress(MysqlLibraryHandle,'mysql_stmt_field_count');
- mysql_library_init(0,nil,nil);
- end
- else
+ if @mysql_library_init <> nil then
+ begin
+ if mysql_library_init(argc, argv, groups) <> 0 then
+ Exit;
+ end else
+ if mysql_server_init(argc, argv, groups) <> 0 then
+ Exit;
+
+ end else
inc(RefCount);
+
Result:=RefCount;
end;
-Function InitialiseMysql(argc:cint = 0; argv:PPchar = nil; groups:PPchar = nil) : Integer;
+Function InitialiseMysql(argc: cint; argv: PPchar; groups: PPchar) : Integer;
begin
Result := 0;
@@ -1637,7 +1643,7 @@ begin
Result := RefCount;
end;
-Function InitialiseMysql(Const LibraryName : String; argc:cint = 0; argv:PPchar = nil; groups:PPchar = nil) : Integer;
+Function InitialiseMysql(Const LibraryName: String; argc: cint; argv: PPchar; groups:PPchar) : Integer;
begin
Result := TryInitialiseMysql(LibraryName,argc,argv,groups);