diff --git a/src/modules/Mysql/precompiled_mysql.h b/src/modules/Mysql/precompiled_mysql.h index e56e403586bcb34b21b31b234768f263ac19c84b..28085880e866de818ce7813cf15f551a2f5b2a50 100644 --- a/src/modules/Mysql/precompiled_mysql.h +++ b/src/modules/Mysql/precompiled_mysql.h @@ -1,5 +1,5 @@ /* - * $Id: precompiled_mysql.h,v 1.1 1997/02/11 08:36:35 hubbe Exp $ + * $Id: precompiled_mysql.h,v 1.2 1997/04/20 03:55:48 grubba Exp $ * * SQL database connectivity for Pike * @@ -48,6 +48,7 @@ struct precompiled_mysql { }; struct precompiled_mysql_result { + struct object *connection; MYSQL_RES *result; }; diff --git a/src/modules/Mysql/result.c b/src/modules/Mysql/result.c index 2cf09eec399baaf9f6c83e3998a61bc43d42d5be..2cd7001faeef52a7ad943a38aa51d284b2fef59a 100644 --- a/src/modules/Mysql/result.c +++ b/src/modules/Mysql/result.c @@ -1,5 +1,5 @@ /* - * $Id: result.c,v 1.4 1997/03/28 18:30:57 grubba Exp $ + * $Id: result.c,v 1.5 1997/04/20 03:55:46 grubba Exp $ * * mysql query result * @@ -74,7 +74,7 @@ typedef struct dynamic_buffer_s dynamic_buffer; * Globals */ -RCSID("$Id: result.c,v 1.4 1997/03/28 18:30:57 grubba Exp $"); +RCSID("$Id: result.c,v 1.5 1997/04/20 03:55:46 grubba Exp $"); struct program *mysql_result_program = NULL; @@ -97,6 +97,10 @@ static void exit_res_struct(struct object *o) mysql_free_result(PIKE_MYSQL_RES->result); PIKE_MYSQL_RES->result = NULL; } + if (PIKE_MYSQL_RES->connection) { + free_object(PIKE_MYSQL_RES->connection); + PIKE_MYSQL_RES->connection = NULL; + } } /* @@ -222,6 +226,8 @@ static void f_create(INT32 args) error("Bad argument 1 to mysql_result()\n"); } + PIKE_MYSQL_RES->connection = sp[-args].u.object; + PIKE_MYSQL_RES->connection->refs++; PIKE_MYSQL_RES->result = mysql->last_result; mysql->last_result = NULL;