diff options
| author | ivost <ivost@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2009-03-27 02:38:57 +0000 |
|---|---|---|
| committer | ivost <ivost@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2009-03-27 02:38:57 +0000 |
| commit | 9644e6f7c41a87a3ba634d015732094fa7efe6f6 (patch) | |
| tree | f0a6928f5735e0720bb719d5a55478c830c35fb7 /packages/mysql | |
| parent | e941c25e6efa8a1236b172b3052ce342cabbbe15 (diff) | |
| download | fpc-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.inc | 26 |
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); |
