From ea94f608b4072be0be615cb0318e2b97199fdd1f Mon Sep 17 00:00:00 2001 From: Steve Price Date: Sun, 16 Jul 2000 19:57:01 +0000 Subject: Update to use Tcl version 8.3. PR: 19874 Submitted by: maintainer --- databases/mysqltcl/Makefile | 6 +- databases/mysqltcl/files/Makefile.bsd | 2 +- databases/mysqltcl/files/patch-aa | 169 +++++++++++++++++++++++++++++++++- databases/mysqltcl/files/patch-ab | 2 +- databases/mysqltcl/pkg-descr | 3 + 5 files changed, 174 insertions(+), 8 deletions(-) (limited to 'databases/mysqltcl') diff --git a/databases/mysqltcl/Makefile b/databases/mysqltcl/Makefile index 254c55c0a06c..22676ba3352d 100644 --- a/databases/mysqltcl/Makefile +++ b/databases/mysqltcl/Makefile @@ -7,15 +7,15 @@ PORTNAME= mysqltcl PORTVERSION= 1.53 -CATEGORIES= databases tcl80 -MASTER_SITES= http://www.mysql.com/Contrib/ +CATEGORIES= databases tcl83 +MASTER_SITES= http://www.mysql.com/Downloads/Contrib/ MAINTAINER= mi@aldan.algebra.com LIB_DEPENDS= mysqlclient.6:${PORTSDIR}/databases/mysql322-client \ ${TCL_NODOT}:${PORTSDIR}/lang/${TCL_NODOT} -TCL_VERSION?= tcl8.0 +TCL_VERSION?= tcl8.3 TCL_NODOT= ${TCL_VERSION:S/.//} SQL_DIR= ${PREFIX}/lib/${TCL_VERSION}/mysqltcl PLIST_SUB+= TCL_VERSION=${TCL_VERSION} LIB_NAME=${LIB_NAME} diff --git a/databases/mysqltcl/files/Makefile.bsd b/databases/mysqltcl/files/Makefile.bsd index 72cd0fc68909..a4e6e10047a1 100644 --- a/databases/mysqltcl/files/Makefile.bsd +++ b/databases/mysqltcl/files/Makefile.bsd @@ -4,7 +4,7 @@ SHLIB_MINOR= 0 SRCS = mysqltcl.c CFLAGS += -I${PREFIX}/include/${TCL_VERSION}/ -CFLAGS += -I${PREFIX}/include/mysql/ +CFLAGS += -I${PREFIX}/include/mysql/ -Wall LDADD += -L${PREFIX}/lib -l${TCL_NODOT} LDADD += -L${PREFIX}/lib/mysql -lmysqlclient diff --git a/databases/mysqltcl/files/patch-aa b/databases/mysqltcl/files/patch-aa index bcc0f0ac8950..a801304bc85d 100644 --- a/databases/mysqltcl/files/patch-aa +++ b/databases/mysqltcl/files/patch-aa @@ -1,9 +1,172 @@ ---- mysqltcl.c.orig Mon Jul 6 11:35:17 1998 -+++ mysqltcl.c Wed Sep 1 01:27:44 1999 -@@ -743,5 +743,5 @@ +--- mysqltcl.c Mon Jul 6 11:35:17 1998 ++++ mysqltcl.c Wed Jul 12 17:46:20 2000 +@@ -34,7 +34,7 @@ + #include + #include + #include +- ++#include + + #define MYSQL_HANDLES 15 /* Default number of handles available. */ + #define MYSQL_BUFF_SIZE 1024 /* Conversion buffer size for various needs. */ +@@ -60,7 +60,7 @@ + #define MYSQL_HPREFIX_LEN 5 + + /* Array for status info, and its elements. */ +-static char *MysqlStatusArr = "mysqlstatus"; ++#define MysqlStatusArr "mysqlstatus" + #define MYSQL_STATUS_CODE "code" + #define MYSQL_STATUS_CMD "command" + #define MYSQL_STATUS_MSG "message" +@@ -686,7 +686,6 @@ + Mysqltcl_Init (interp) + Tcl_Interp *interp; + { +- int i; + char nbuf[MYSQL_SMALL_SIZE]; + + /* +@@ -742,7 +739,7 @@ + * If this message appears you must change the source code and recompile. */ if (strlen (MysqlHandlePrefix) == MYSQL_HPREFIX_LEN) - return TCL_OK; + return Tcl_PkgProvide(interp, "mysql", "1.53"); else { + fprintf (stderr, "*** mysqltcl (mysqltcl.c): handle prefix inconsistency!\n") ; +@@ -921,13 +917,13 @@ + + if ((MysqlHandle[hand].result = mysql_store_result (MysqlHandle[hand].mysql)) == NULL) + { +- (void)strcpy (interp->result, "-1") ; ++ Tcl_SetObjResult(interp, Tcl_NewIntObj(-1)); + } + else + { + MysqlHandle[hand].res_count = mysql_num_rows (MysqlHandle[hand].result) ; + MysqlHandle[hand].col_count = mysql_num_fields (MysqlHandle[hand].result) ; +- (void)sprintf (interp->result, "%d", MysqlHandle[hand].res_count) ; ++ Tcl_SetObjResult(interp, Tcl_NewIntObj(MysqlHandle[hand].res_count)); + } + + return TCL_OK; +@@ -1073,7 +1069,7 @@ + MysqlHandle[hand].res_count = total - row; + } + +- (void)sprintf (interp->result, "%d", MysqlHandle[hand].res_count) ; ++ Tcl_SetObjResult(interp, Tcl_NewIntObj(MysqlHandle[hand].res_count)); + return TCL_OK; + } + +@@ -1244,7 +1240,7 @@ + { + case MYSQL_INFNAME_OPT: + case MYSQL_INFNAMEQ_OPT: +- strcpy (interp->result, MysqlHandle[hand].database) ; ++ Tcl_SetResult(interp, MysqlHandle[hand].database, TCL_STATIC); + break ; + case MYSQL_INFTABLES_OPT: + if ((list = mysql_list_tables (MysqlHandle[hand].mysql,(char*)NULL)) == NULL) +@@ -1259,7 +1255,7 @@ + break ; + case MYSQL_INFHOST_OPT: + case MYSQL_INFHOSTQ_OPT: +- strcpy (interp->result, MysqlHandle[hand].host) ; ++ Tcl_SetResult(interp, MysqlHandle[hand].host, TCL_STATIC); + break ; + case MYSQL_INFLIST_OPT: + if ((list = mysql_list_dbs (MysqlHandle[hand].mysql,(char*)NULL)) == NULL) +@@ -1299,8 +1295,6 @@ + int count ; + int hand ; + int idx ; +- MYSQL_RES* list ; +- MYSQL_ROW row ; + + + /* We can't fully check the handle at this stage. */ +@@ -1342,19 +1336,20 @@ + { + case MYSQL_RESROWS_OPT: + case MYSQL_RESROWSQ_OPT: +- sprintf (interp->result, "%d", MysqlHandle[hand].res_count) ; ++ count = MysqlHandle[hand].res_count; + break ; + case MYSQL_RESCOLS_OPT: + case MYSQL_RESCOLSQ_OPT: +- sprintf (interp->result, "%d", MysqlHandle[hand].col_count) ; ++ count = MysqlHandle[hand].col_count; + break ; + case MYSQL_RESCUR_OPT: + case MYSQL_RESCURQ_OPT: +- sprintf (interp->result, "%d", mysql_num_rows (MysqlHandle[hand].result) +- - MysqlHandle[hand].res_count) ; ++ count = mysql_num_rows (MysqlHandle[hand].result) ++ - MysqlHandle[hand].res_count; + default: +- ; ++ return TCL_OK; /* none of the above -- return without touching result */ + } ++ Tcl_SetObjResult(interp, Tcl_NewIntObj(count)); + return TCL_OK ; + } + +@@ -1500,8 +1495,12 @@ + int hi; + char* hp ; + int numeric ; +- char* res ; +- ++ register short res; ++ ++ static const char *states[] = { ++ "NOT_A_HANDLE", "UNCONNECTED", "CONNECTED", "IN_USE", "RESULT_PENDING" ++ }; ++ + if (mysql_prologue(interp, argc, argv, 2, NULL, "?-numeric? handle") < 0) + return TCL_ERROR; + +@@ -1511,17 +1510,18 @@ + hp = (numeric)?argv[2]:argv[1] ; + + if (HSYNTAX(hp,hi) < 0) +- res = (numeric)?"0":"NOT_A_HANDLE" ; ++ res = 0; + else if (MysqlHandle[hi].connection == 0) +- res = (numeric)?"1":"UNCONNECTED" ; ++ res = 1; + else if (MysqlHandle[hi].database[0] == '\0') +- res = (numeric)?"2":"CONNECTED" ; ++ res = 2; + else if (MysqlHandle[hi].result == NULL) +- res = (numeric)?"3":"IN_USE" ; ++ res = 3; + else +- res = (numeric)?"4":"RESULT_PENDING" ; ++ res = 4; + +- (void)strcpy (interp->result, res) ; ++ if (numeric) Tcl_SetObjResult(interp, Tcl_NewIntObj(res)); ++ else Tcl_SetResult(interp, (char *)states[res], TCL_STATIC); + return TCL_OK ; + } + +@@ -1543,7 +1543,6 @@ + char **argv; + { + int hand; +- char* res ; + MYSQL* mysql; + + if ((hand = mysql_prologue(interp, argc, argv, 2, get_handle_conn, +@@ -1552,7 +1551,7 @@ + + mysql = MysqlHandle[hand].mysql; + +- (void)sprintf (interp->result, "%d", mysql_insert_id(mysql)) ; ++ Tcl_SetObjResult(interp, Tcl_NewIntObj(mysql_insert_id(mysql))); + + return TCL_OK; + } diff --git a/databases/mysqltcl/files/patch-ab b/databases/mysqltcl/files/patch-ab index 9f8e5dee372f..3a4ff6902986 100644 --- a/databases/mysqltcl/files/patch-ab +++ b/databases/mysqltcl/files/patch-ab @@ -1,4 +1,4 @@ ---- mysqltcl.n.orig Mon Jul 6 12:04:27 1998 +--- mysqltcl.n Mon Jul 6 12:04:27 1998 +++ mysqltcl.n Wed Sep 1 01:52:23 1999 @@ -36,2 +36,5 @@ MySQLTcl - MySQL server access commands for Tcl diff --git a/databases/mysqltcl/pkg-descr b/databases/mysqltcl/pkg-descr index bdc1aaccd8a8..f9033353063d 100644 --- a/databases/mysqltcl/pkg-descr +++ b/databases/mysqltcl/pkg-descr @@ -10,3 +10,6 @@ From the package man-page: left as it was when I started to work with this interface (a patch of msqltcl-1.50). However, I have tried to replace appropriate occurrences of msql by MySQL. + +This port makes use of some of the Tcl-8.x niceties, but more on that +front can be done. -- cgit v1.2.3