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

Annotation of /lbbs/src/database.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.22 - (hide annotations)
Sun Nov 16 11:06:06 2025 UTC (3 months, 4 weeks ago) by sysadm
Branch: MAIN
Changes since 1.21: +1 -1 lines
Content type: text/x-csrc
Update mysql.h file path

1 sysadm 1.18 /* SPDX-License-Identifier: GPL-3.0-or-later */
2     /*
3     * database
4     * - configuration and function of DB connection
5     *
6 sysadm 1.19 * Copyright (C) 2004-2025 Leaflet <leaflet@leafok.com>
7 sysadm 1.18 */
8 sysadm 1.1
9 sysadm 1.21 #ifdef HAVE_CONFIG_H
10     #include "config.h"
11     #endif
12    
13 sysadm 1.1 #include "common.h"
14 sysadm 1.11 #include "database.h"
15 sysadm 1.9 #include "log.h"
16 sysadm 1.3 #include <stdio.h>
17 sysadm 1.22 #include <mysql.h>
18 sysadm 1.1
19 sysadm 1.10 // Global declaration for database
20 sysadm 1.20 char DB_host[DB_host_max_len + 1];
21     char DB_username[DB_username_max_len + 1];
22     char DB_password[DB_password_max_len + 1];
23     char DB_database[DB_database_max_len + 1];
24     char DB_timezone[DB_timezone_max_len + 1];
25 sysadm 1.10
26     MYSQL *db_open()
27 sysadm 1.1 {
28 sysadm 1.16 MYSQL *db = NULL;
29 sysadm 1.11 char sql[SQL_BUFFER_LEN];
30 sysadm 1.5
31 sysadm 1.7 db = mysql_init(NULL);
32     if (db == NULL)
33     {
34     log_error("mysql_init() failed\n");
35     return NULL;
36     }
37    
38 sysadm 1.16 if (mysql_real_connect(db, DB_host, DB_username, DB_password, DB_database,
39     0, NULL, 0) == NULL)
40 sysadm 1.7 {
41 sysadm 1.16 log_error("mysql_real_connect() error: %s\n", mysql_error(db));
42     mysql_close(db);
43 sysadm 1.7 return NULL;
44     }
45    
46 sysadm 1.17 if (mysql_set_character_set(db, "utf8") != 0)
47 sysadm 1.7 {
48 sysadm 1.16 log_error("Set character set error: %s\n", mysql_error(db));
49     mysql_close(db);
50 sysadm 1.7 return NULL;
51     }
52    
53 sysadm 1.12 snprintf(sql, sizeof(sql),
54 sysadm 1.16 "SET time_zone = '%s'",
55     DB_timezone);
56 sysadm 1.8
57     if (mysql_query(db, sql) != 0)
58 sysadm 1.7 {
59 sysadm 1.14 log_error("Set timezone error: %s\n", mysql_error(db));
60 sysadm 1.16 mysql_close(db);
61 sysadm 1.7 return NULL;
62     }
63 sysadm 1.6
64 sysadm 1.7 return db;
65 sysadm 1.1 }

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