/[LeafOK_CVS]/lbbs/src/database.c
ViewVC logotype

Annotation of /lbbs/src/database.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.16 - (hide annotations)
Sat Jun 21 06:52:24 2025 UTC (8 months, 3 weeks ago) by sysadm
Branch: MAIN
Changes since 1.15: +10 -8 lines
Content type: text/x-csrc
Refine to reduce Valgrind warnings

1 sysadm 1.1 /***************************************************************************
2 sysadm 1.7 database.c - description
3     -------------------
4 sysadm 1.13 Copyright : (C) 2004-2025 by Leaflet
5     Email : leaflet@leafok.com
6 sysadm 1.1 ***************************************************************************/
7    
8     /***************************************************************************
9     * *
10     * This program is free software; you can redistribute it and/or modify *
11     * it under the terms of the GNU General Public License as published by *
12 sysadm 1.13 * the Free Software Foundation; either version 3 of the License, or *
13 sysadm 1.1 * (at your option) any later version. *
14     * *
15     ***************************************************************************/
16    
17     #include "common.h"
18 sysadm 1.11 #include "database.h"
19 sysadm 1.9 #include "log.h"
20 sysadm 1.3 #include <stdio.h>
21 sysadm 1.15 #include <mysql/mysql.h>
22 sysadm 1.1
23 sysadm 1.10 // Global declaration for database
24     char DB_host[256];
25     char DB_username[50];
26     char DB_password[50];
27     char DB_database[50];
28     char DB_timezone[50];
29    
30     MYSQL *db_open()
31 sysadm 1.1 {
32 sysadm 1.16 MYSQL *db = NULL;
33 sysadm 1.11 char sql[SQL_BUFFER_LEN];
34 sysadm 1.5
35 sysadm 1.7 db = mysql_init(NULL);
36     if (db == NULL)
37     {
38     log_error("mysql_init() failed\n");
39     return NULL;
40     }
41    
42 sysadm 1.16 if (mysql_real_connect(db, DB_host, DB_username, DB_password, DB_database,
43     0, NULL, 0) == NULL)
44 sysadm 1.7 {
45 sysadm 1.16 log_error("mysql_real_connect() error: %s\n", mysql_error(db));
46     mysql_close(db);
47 sysadm 1.7 return NULL;
48     }
49    
50 sysadm 1.8 if (mysql_set_character_set(db, "gb2312") != 0)
51 sysadm 1.7 {
52 sysadm 1.16 log_error("Set character set error: %s\n", mysql_error(db));
53     mysql_close(db);
54 sysadm 1.7 return NULL;
55     }
56    
57 sysadm 1.12 snprintf(sql, sizeof(sql),
58 sysadm 1.16 "SET time_zone = '%s'",
59     DB_timezone);
60 sysadm 1.8
61     if (mysql_query(db, sql) != 0)
62 sysadm 1.7 {
63 sysadm 1.14 log_error("Set timezone error: %s\n", mysql_error(db));
64 sysadm 1.16 mysql_close(db);
65 sysadm 1.7 return NULL;
66     }
67 sysadm 1.6
68 sysadm 1.7 return db;
69 sysadm 1.1 }

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1