395654da09f681d35921206e0103d2decbf91093
[pulsecounter.git] / linux / dbstore.c
1 #include <stdio.h>
2 #include <stdint.h>
3 #include <time.h>
4
5 #include <mysql/mysql.h>
6
7 #include "dbstore.h"
8
9 int dbstore(uint8_t which, uint32_t val)
10 {
11         time_t t;
12         int i;
13         MYSQL mysql;
14         int rc = 0;
15         struct tm tm;
16         char buf[64];
17         char tstr[32];
18         char *table = (which == 1) ? "coldcnt" : "hotcnt";
19         char statement[64];
20
21         t = time(NULL);
22         (void)gmtime_r(&t, &tm);
23         (void)strftime(tstr, sizeof(tstr), "%Y-%m-%d %H:%M:%S", &tm);
24         mysql_init(&mysql);
25         if(!mysql_real_connect(&mysql, NULL, "pulsecounter",
26                                 "xxxxxxxxxxxxx", "watermeter", 0, NULL, 0)) {
27                 fprintf(stderr, "mysql connect error: %s\n",
28                         mysql_error(&mysql));
29                 return 1;
30         }
31         snprintf(statement, sizeof(statement),
32                  "insert into %s values (\"%s\",%u);\n",
33                  table, tstr, val);
34         rc = mysql_query(&mysql, statement);
35         if (rc)
36                 fprintf(stderr, "mysql insert \"%s\" error: %s\n",
37                         statement, mysql_error(&mysql));
38         mysql_close(&mysql);
39         return rc;
40 }