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

Annotation of /lbbs/src/database.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.19 - (hide annotations)
Tue Nov 4 14:58:56 2025 UTC (4 months, 1 week ago) by sysadm
Branch: MAIN
Changes since 1.18: +1 -1 lines
Content type: text/x-csrc
Refine file header information comments

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     #include "common.h"
10 sysadm 1.11 #include "database.h"
11 sysadm 1.9 #include "log.h"
12 sysadm 1.3 #include <stdio.h>
13 sysadm 1.15 #include <mysql/mysql.h>
14 sysadm 1.1
15 sysadm 1.10 // Global declaration for database
16     char DB_host[256];
17     char DB_username[50];
18     char DB_password[50];
19     char DB_database[50];
20     char DB_timezone[50];
21    
22     MYSQL *db_open()
23 sysadm 1.1 {
24 sysadm 1.16 MYSQL *db = NULL;
25 sysadm 1.11 char sql[SQL_BUFFER_LEN];
26 sysadm 1.5
27 sysadm 1.7 db = mysql_init(NULL);
28     if (db == NULL)
29     {
30     log_error("mysql_init() failed\n");
31     return NULL;
32     }
33    
34 sysadm 1.16 if (mysql_real_connect(db, DB_host, DB_username, DB_password, DB_database,
35     0, NULL, 0) == NULL)
36 sysadm 1.7 {
37 sysadm 1.16 log_error("mysql_real_connect() error: %s\n", mysql_error(db));
38     mysql_close(db);
39 sysadm 1.7 return NULL;
40     }
41    
42 sysadm 1.17 if (mysql_set_character_set(db, "utf8") != 0)
43 sysadm 1.7 {
44 sysadm 1.16 log_error("Set character set error: %s\n", mysql_error(db));
45     mysql_close(db);
46 sysadm 1.7 return NULL;
47     }
48    
49 sysadm 1.12 snprintf(sql, sizeof(sql),
50 sysadm 1.16 "SET time_zone = '%s'",
51     DB_timezone);
52 sysadm 1.8
53     if (mysql_query(db, sql) != 0)
54 sysadm 1.7 {
55 sysadm 1.14 log_error("Set timezone error: %s\n", mysql_error(db));
56 sysadm 1.16 mysql_close(db);
57 sysadm 1.7 return NULL;
58     }
59 sysadm 1.6
60 sysadm 1.7 return db;
61 sysadm 1.1 }

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