summaryrefslogtreecommitdiff
path: root/databases/mysqltcl
diff options
context:
space:
mode:
authorSteve Price <steve@FreeBSD.org>2000-07-16 19:57:01 +0000
committerSteve Price <steve@FreeBSD.org>2000-07-16 19:57:01 +0000
commitea94f608b4072be0be615cb0318e2b97199fdd1f (patch)
tree035593575c171459b79b384d5b7eb597fa15f5f2 /databases/mysqltcl
parentUpdate to version 1.0a8. (diff)
Update to use Tcl version 8.3.
PR: 19874 Submitted by: maintainer
Notes
Notes: svn path=/head/; revision=30717
Diffstat (limited to 'databases/mysqltcl')
-rw-r--r--databases/mysqltcl/Makefile6
-rw-r--r--databases/mysqltcl/files/Makefile.bsd2
-rw-r--r--databases/mysqltcl/files/patch-aa169
-rw-r--r--databases/mysqltcl/files/patch-ab2
-rw-r--r--databases/mysqltcl/pkg-descr3
5 files changed, 174 insertions, 8 deletions
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 <string.h>
+ #include <ctype.h>
+ #include <unistd.h>
+-
++#include <stdlib.h>
+
+ #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.