Mercurial > sci
annotate scid/scid.c @ 26:7e10cace67a3
scid: add basic mustache support
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 02 Aug 2022 13:24:13 +0200 |
parents | |
children | 4c16bb25e4f1 |
rev | line source |
---|---|
26
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 #include <assert.h> |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 #include <stdio.h> |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 #include "db.h" |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 #include "log.h" |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 #include "scid.h" |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 struct scid scid = { |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 .dbpath = VARDIR "/db/sci/sci.db" |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 }; |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 void |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 scid_init(void) |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 { |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 log_open("scid"); |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 log_info("opening database %s", scid.dbpath); |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 if (db_open(scid.dbpath) < 0) |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 log_die("abort: unable to open database"); |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 } |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 const char * |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 scid_theme_path(const char *filename) |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 { |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 assert(filename); |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 /* Build path to the template file. */ |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 static _Thread_local char path[PATH_MAX]; |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 snprintf(path, sizeof (path), "%s/%s", scid.themedir, filename); |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 return path; |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 } |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 void |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 scid_finish(void) |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
37 { |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 db_finish(); |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
39 log_finish(); |
7e10cace67a3
scid: add basic mustache support
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 } |