diff options
author | Mikhail Teterin <mi@FreeBSD.org> | 2004-11-11 18:06:27 +0000 |
---|---|---|
committer | Mikhail Teterin <mi@FreeBSD.org> | 2004-11-11 18:06:27 +0000 |
commit | d9de5588eda8fc74b92e073a356a840b2d13b9c2 (patch) | |
tree | bf8a162cbfc7db538890cbc6433ac18edda3f5e1 /databases/tcl-Mysql | |
parent | Add a patch to fix a bogus int* to long* cast, which was silently (diff) |
Make buildable with newer MySQL clients -- 4 and 5 -- but keep
compatible with the 3 -- mysql_error now returns `const char *', and
there is no mysql_connect any more. Default to MySQL-4.x for now. Bump
PORTREVISION.
Reported by: Robert Andrews
Notes
Notes:
svn path=/head/; revision=121401
Diffstat (limited to 'databases/tcl-Mysql')
-rw-r--r-- | databases/tcl-Mysql/Makefile | 4 | ||||
-rw-r--r-- | databases/tcl-Mysql/files/Makefile.bsd | 2 | ||||
-rw-r--r-- | databases/tcl-Mysql/files/patch-aa | 14 | ||||
-rw-r--r-- | databases/tcl-Mysql/files/patch-redundant-defaults | 12 |
4 files changed, 23 insertions, 9 deletions
diff --git a/databases/tcl-Mysql/Makefile b/databases/tcl-Mysql/Makefile index f22421cfdef5..4de968f7741b 100644 --- a/databases/tcl-Mysql/Makefile +++ b/databases/tcl-Mysql/Makefile @@ -7,7 +7,7 @@ PORTNAME= ${TCL_NODOT}-sql PORTVERSION= 20000114 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= databases ${TCL_NODOT} MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= tcl-sql @@ -17,7 +17,7 @@ EXTRACT_SUFX= .tgz MAINTAINER= mi@aldan.algebra.com COMMENT= TCL module for accessing MySQL databases -LIB_DEPENDS= mysqlclient:${PORTSDIR}/databases/mysql323-client +LIB_DEPENDS= mysqlclient:${PORTSDIR}/databases/mysql41-client BUILD_DEPENDS= tclsh${TCL_VERSION}:${PORTSDIR}/lang/${TCL_NODOT} TCL_VERSION?= 8.4 # Only this needs changing to switch TCL-version diff --git a/databases/tcl-Mysql/files/Makefile.bsd b/databases/tcl-Mysql/files/Makefile.bsd index fc8baabbf05e..b8f4f14b1cf9 100644 --- a/databases/tcl-Mysql/files/Makefile.bsd +++ b/databases/tcl-Mysql/files/Makefile.bsd @@ -1,4 +1,4 @@ -TCL_VERSION?= tcl8.3 +TCL_VERSION?= tcl8.4 TCL_NODOT?= ${TCL_VERSION:S/.//} SHLIB_NAME?= libTclMySQL.so.1 diff --git a/databases/tcl-Mysql/files/patch-aa b/databases/tcl-Mysql/files/patch-aa index 47e2c1b63abf..06ab82f8afb3 100644 --- a/databases/tcl-Mysql/files/patch-aa +++ b/databases/tcl-Mysql/files/patch-aa @@ -5,8 +5,12 @@ be slightly different. The patch gets rid of a lot of sprintf and will make your scripts faster, especially when fetching multiple rows of the same queries. +In modern MySQL mysql_error() returns a const-pointer, so getErrorMsg() +had to be changed. However, since we are using TCL_STATIC anyway, we can +just cast its result back down to plain char* + --- sql.cc Fri Aug 13 15:28:56 1999 -+++ sql.cc Thu Apr 1 17:04:56 2004 ++++ sql.cc Wed Nov 10 17:40:19 2004 @@ -12,24 +12,11 @@ -const char* HANDLE_PREFIX = "sql"; @@ -41,12 +45,12 @@ same queries. @@ -38,3 +25,3 @@ // An error occured. - Tcl_SetResult(interp, conn->getErrorMsg(), TCL_VOLATILE); -+ Tcl_SetResult(interp, conn->getErrorMsg(), TCL_STATIC); ++ Tcl_SetResult(interp, (char *)conn->getErrorMsg(), TCL_STATIC); return TCL_ERROR; @@ -47,3 +34,3 @@ // An error occured. - Tcl_SetResult(interp, conn->getErrorMsg(), TCL_VOLATILE); -+ Tcl_SetResult(interp, conn->getErrorMsg(), TCL_STATIC); ++ Tcl_SetResult(interp, (char *)conn->getErrorMsg(), TCL_STATIC); return TCL_ERROR; @@ -60,9 +47,9 @@ int queryCmd(Tcl_Interp *interp, Sql_interface *conn, char *cmd) { @@ -55,7 +59,7 @@ same queries. if ((handle = conn->query(cmd)) < 0) { // An error occured. - Tcl_SetResult(interp, conn->getErrorMsg(), TCL_VOLATILE); -+ Tcl_SetResult(interp, conn->getErrorMsg(), TCL_STATIC); ++ Tcl_SetResult(interp, (char *)conn->getErrorMsg(), TCL_STATIC); return TCL_ERROR; } - sprintf(interp->result, "%s%d", RESULT_PREFIX, handle); @@ -149,7 +153,7 @@ same queries. + } + connid = mgr->connect(objc-2, argv); + if (connid < 0) { -+ Tcl_SetResult(interp, mgr->getErrorMsg(), TCL_STATIC); ++ Tcl_SetResult(interp, (char *)mgr->getErrorMsg(), TCL_STATIC); return TCL_ERROR; } - char errormsg[16]; diff --git a/databases/tcl-Mysql/files/patch-redundant-defaults b/databases/tcl-Mysql/files/patch-redundant-defaults index da2fe8ee145c..bbfc8699a661 100644 --- a/databases/tcl-Mysql/files/patch-redundant-defaults +++ b/databases/tcl-Mysql/files/patch-redundant-defaults @@ -1,5 +1,15 @@ --- sql-mysql.cc Wed Jan 12 20:50:03 2000 -+++ sql-mysql.cc Tue Nov 26 19:48:56 2002 ++++ sql-mysql.cc Wed Nov 10 17:40:19 2004 +@@ -19,7 +19,7 @@ + + // ------------------------------------------------------------- +-char * ++const char * + Sql_mysql::getErrorMsg() { +- char *msg = mysql_error(&mysql); ++ const char *msg = mysql_error(&mysql); + if (*msg == '\0') { + return errormsg; @@ -72,5 +72,5 @@ // ------------------------------------------------------------- int |