summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'main.c')
-rw-r--r--main.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/main.c b/main.c
index 5c34642..72a8848 100644
--- a/main.c
+++ b/main.c
@@ -7,6 +7,7 @@
#include "word.h"
#include "nick.h"
#include "parsing.h"
+#include "pg.h"
int main(int argc, char **argv) {
/* Set locale. */
@@ -24,8 +25,26 @@ int main(int argc, char **argv) {
return 1;
}
+ if(!pg_connect(ircstats_config.db_connection_string)) {
+ printf("failed to connect\n");
+ goto main_free;
+ }
+
+ if(argc == 2 && strcmp(argv[1], "-i") == 0) {
+ pg_init();
+ goto disconnect;
+ }
+ if(argc == 2 && strcmp(argv[1], "-u") == 0) {
+ pg_upgrade();
+ goto disconnect;
+ }
+
process();
+disconnect:
+ pg_disconnect();
+
+main_free:
nick_free();
cfg_free();
channel_free();