Changeset - d5f4334ff4e6
[Not reviewed]
default
0 2 0
Nathan Brink (binki) - 16 years ago 2010-02-10 01:15:31
ohnobinki@ohnopublishing.net
add mysqlResultFree(), polish up mysql.c
2 files changed with 37 insertions and 3 deletions:
0 comments (0 inline, 0 general)
src/server/mysql.c
Show inline comments
 
@@ -35,6 +35,7 @@
 
 */
 

	
 
#define SEVENTY_FIVE 75
 
#define FORTY_TWO 42
 

	
 
struct distrend_mysql_con 
 
{
 
@@ -44,7 +45,8 @@ struct distrend_mysql_con
 

	
 
struct distrend_mysql_result
 
{
 
  MYSQL_RES *result;
 
  MYSQL_RES *mysqlresult;
 
  short pointlesscheck;
 
};
 

	
 
/** 
 
@@ -70,6 +72,12 @@ int mysqlConnect(struct distrend_mysql_c
 
    }
 

	
 
  *conn = malloc(sizeof(struct distrend_mysql_con));
 
  if(!*conn)
 
    {
 
      mysql_close(mysqlconn);
 
      mysql_server_end();
 
      return 2;
 
    }
 
  (*conn)->mysqlconn = mysqlconn;
 
  (*conn)->pointlesscheck = SEVENTY_FIVE;
 

	
 
@@ -90,6 +98,7 @@ int mysqlDisconnect(distrend_mysql_con_t
 
  conn->pointlesscheck ++;
 

	
 
  mysql_close(conn->mysqlconn);
 
  mysql_server_end();
 
  free(conn);
 

	
 
  return 0;
 
@@ -118,6 +127,25 @@ distrend_mysql_result_t mysqlQuery(distr
 
  result = mysql_use_result(conn->mysqlconn);
 

	
 
  distrenresult = malloc(sizeof(struct distrend_mysql_result));
 
  if(!distrenresult)
 
    {
 
      mysql_free_result(result);
 
      return NULL;
 
    }
 
  
 
  distrenresult->mysqlresult = result;
 
  distrenresult->pointlesscheck = FORTY_TWO;
 
  
 
  return distrenresult;
 
}
 

	
 
int mysqlResultFree(distrend_mysql_result_t result)
 
{
 
  if(result->pointlesscheck != FORTY_TWO)
 
    fprintf(stderr, "%s:%d: I didn't get the type of handle I wanted\n", __FILE__, __LINE__);
 

	
 
  mysql_free_result(result->mysqlresult);
 
  free(result);
 

	
 
  return 0;
 
}
src/server/mysql.h
Show inline comments
 
@@ -26,7 +26,7 @@ struct distrend_mysql_con;
 
struct distrend_mysql_result;
 

	
 
typedef struct distrend_mysql_con *distrend_mysql_con_t;
 
typedef struct distrend_mysql_restul *distrend_mysql_result_t;
 
typedef struct distrend_mysql_result *distrend_mysql_result_t;
 

	
 
/**
 
   initiates a MySQL connection
 
@@ -38,7 +38,7 @@ int mysqlConnect(distrend_mysql_con_t *c
 
/**
 
   cleans and disconnects MySQL connection
 
   @param conn connection to clean
 
   @return 0 onh success
 
   @return 0 on success
 
*/
 
int mysqlDisconnect(distrend_mysql_con_t conn);
 

	
 
@@ -49,4 +49,10 @@ int mysqlDisconnect(distrend_mysql_con_t
 
 */
 
distrend_mysql_result_t mysqlQuery(struct distrend_mysql_con *conn, char *query);
 

	
 
/**
 
   frees mysql query result.
 
   @return 0 on success
 
 */
 
int mysqlResultFree(distrend_mysql_result_t result);
 

	
 
#endif /* MYSQL_H_ */
0 comments (0 inline, 0 general)