summaryrefslogtreecommitdiffabout
authorLars Hjemli <hjemli@gmail.com>2008-03-27 08:22:13 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2008-03-27 08:22:13 (UTC)
commitee4056bd2c902a12dea67874368863fe60ea5a5f (patch) (unidiff)
treed54da54ace7b8999cf8785d877a0a9cad5262a0c
parentdc3282f0baa14949439593729a45fbe143e3622c (diff)
downloadcgit-ee4056bd2c902a12dea67874368863fe60ea5a5f.zip
cgit-ee4056bd2c902a12dea67874368863fe60ea5a5f.tar.gz
cgit-ee4056bd2c902a12dea67874368863fe60ea5a5f.tar.bz2
Add cache.h
The functions found in cache.c are only used by cgit.c, so there's no point in rebuilding all object files when the cache interface is changed. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--cache.c1
-rw-r--r--cache.h23
-rw-r--r--cgit.c1
-rw-r--r--cgit.h14
4 files changed, 25 insertions, 14 deletions
diff --git a/cache.c b/cache.c
index 7860fc7..89f7ecd 100644
--- a/cache.c
+++ b/cache.c
@@ -4,12 +4,13 @@
4 * 4 *
5 * Licensed under GNU General Public License v2 5 * Licensed under GNU General Public License v2
6 * (see COPYING for full license text) 6 * (see COPYING for full license text)
7 */ 7 */
8 8
9#include "cgit.h" 9#include "cgit.h"
10#include "cache.h"
10 11
11const int NOLOCK = -1; 12const int NOLOCK = -1;
12 13
13char *cache_safe_filename(const char *unsafe) 14char *cache_safe_filename(const char *unsafe)
14{ 15{
15 static char buf[4][PATH_MAX]; 16 static char buf[4][PATH_MAX];
diff --git a/cache.h b/cache.h
new file mode 100644
index 0000000..4dcbea3
--- a/dev/null
+++ b/cache.h
@@ -0,0 +1,23 @@
1/*
2 * Since git has it's own cache.h which we include,
3 * lets test on CGIT_CACHE_H to avoid confusion
4 */
5
6#ifndef CGIT_CACHE_H
7#define CGIT_CACHE_H
8
9struct cacheitem {
10 char *name;
11 struct stat st;
12 int ttl;
13 int fd;
14};
15
16extern char *cache_safe_filename(const char *unsafe);
17extern int cache_lock(struct cacheitem *item);
18extern int cache_unlock(struct cacheitem *item);
19extern int cache_cancel_lock(struct cacheitem *item);
20extern int cache_exist(struct cacheitem *item);
21extern int cache_expired(struct cacheitem *item);
22
23#endif /* CGIT_CACHE_H */
diff --git a/cgit.c b/cgit.c
index f749b6b..73b1f02 100644
--- a/cgit.c
+++ b/cgit.c
@@ -4,12 +4,13 @@
4 * 4 *
5 * Licensed under GNU General Public License v2 5 * Licensed under GNU General Public License v2
6 * (see COPYING for full license text) 6 * (see COPYING for full license text)
7 */ 7 */
8 8
9#include "cgit.h" 9#include "cgit.h"
10#include "cache.h"
10#include "cmd.h" 11#include "cmd.h"
11#include "ui-shared.h" 12#include "ui-shared.h"
12 13
13const char *cgit_version = CGIT_VERSION; 14const char *cgit_version = CGIT_VERSION;
14 15
15void config_cb(const char *name, const char *value) 16void config_cb(const char *name, const char *value)
diff --git a/cgit.h b/cgit.h
index e82e9aa..f600912 100644
--- a/cgit.h
+++ b/cgit.h
@@ -43,19 +43,12 @@
43#define PAGE_ENCODING "UTF-8" 43#define PAGE_ENCODING "UTF-8"
44 44
45typedef void (*configfn)(const char *name, const char *value); 45typedef void (*configfn)(const char *name, const char *value);
46typedef void (*filepair_fn)(struct diff_filepair *pair); 46typedef void (*filepair_fn)(struct diff_filepair *pair);
47typedef void (*linediff_fn)(char *line, int len); 47typedef void (*linediff_fn)(char *line, int len);
48 48
49struct cacheitem {
50 char *name;
51 struct stat st;
52 int ttl;
53 int fd;
54};
55
56struct cgit_repo { 49struct cgit_repo {
57 char *url; 50 char *url;
58 char *name; 51 char *name;
59 char *path; 52 char *path;
60 char *desc; 53 char *desc;
61 char *owner; 54 char *owner;
@@ -224,18 +217,11 @@ extern char *fmt(const char *format,...);
224extern int cgit_read_config(const char *filename, configfn fn); 217extern int cgit_read_config(const char *filename, configfn fn);
225extern int cgit_parse_query(char *txt, configfn fn); 218extern int cgit_parse_query(char *txt, configfn fn);
226extern struct commitinfo *cgit_parse_commit(struct commit *commit); 219extern struct commitinfo *cgit_parse_commit(struct commit *commit);
227extern struct taginfo *cgit_parse_tag(struct tag *tag); 220extern struct taginfo *cgit_parse_tag(struct tag *tag);
228extern void cgit_parse_url(const char *url); 221extern void cgit_parse_url(const char *url);
229 222
230extern char *cache_safe_filename(const char *unsafe);
231extern int cache_lock(struct cacheitem *item);
232extern int cache_unlock(struct cacheitem *item);
233extern int cache_cancel_lock(struct cacheitem *item);
234extern int cache_exist(struct cacheitem *item);
235extern int cache_expired(struct cacheitem *item);
236
237extern const char *cgit_repobasename(const char *reponame); 223extern const char *cgit_repobasename(const char *reponame);
238 224
239extern int cgit_parse_snapshots_mask(const char *str); 225extern int cgit_parse_snapshots_mask(const char *str);
240 226
241#endif /* CGIT_H */ 227#endif /* CGIT_H */