define api fundation
This commit is contained in:
parent
80e6ea3f23
commit
f363df0e74
5
include/api.h
Normal file
5
include/api.h
Normal file
@ -0,0 +1,5 @@
|
||||
#pragma once
|
||||
|
||||
int api_init(void);
|
||||
void api_rope(void);
|
||||
char* remind(char* who);
|
52
src/api.c
Normal file
52
src/api.c
Normal file
@ -0,0 +1,52 @@
|
||||
#include <sqlite3.h>
|
||||
#include <stdio.h>
|
||||
#include "stmt.h"
|
||||
#include "irccolors.h"
|
||||
#include "error.h"
|
||||
|
||||
void rope(int r);
|
||||
|
||||
#define DBFILE "test.sqlite"
|
||||
|
||||
#define DBERR(line) do {\
|
||||
const int e = line; \
|
||||
if(e != SQLITE_OK && e != SQLITE_ROW && e != SQLITE_DONE) \
|
||||
{ \
|
||||
fprintf(stderr, "sqlite (%d): %s\n", sqlite3_errcode(connection), sqlite3_errmsg(connection)); \
|
||||
rope(DB_ERROR); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
static sqlite3* connection = NULL;
|
||||
|
||||
int
|
||||
api_init(){
|
||||
DBERR(sqlite3_open(DBFILE, &connection));
|
||||
|
||||
stmt_prepare(remind_stmt);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void api_rope(){
|
||||
DBERR(sqlite3_finalize(remind_stmt));
|
||||
sqlite3_close(connection);
|
||||
}
|
||||
|
||||
char*
|
||||
remind(char* who){
|
||||
char* r;
|
||||
char* title;
|
||||
char* desc;
|
||||
|
||||
DBERR(sqlite3_bind_text(remind_stmt, 1, who, -1, SQLITE_STATIC));
|
||||
|
||||
DBERR(sqlite3_step(remind_stmt));
|
||||
title = (char*)sqlite3_column_text(remind_stmt, 0);
|
||||
title = strdup(title);
|
||||
desc = (char*)sqlite3_column_text(remind_stmt, 1);
|
||||
desc = strdup(desc);
|
||||
asprintf(&r, IRC_COLOR_RED "%s: " IRC_COLOR_YELLOW "%s", title, desc);
|
||||
|
||||
return r;
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
#include "parse.c"
|
||||
#include "fetch.c"
|
||||
#include "api.c"
|
||||
#include "main.c"
|
||||
|
Reference in New Issue
Block a user