author | Lars Hjemli <hjemli@gmail.com> | 2008-03-27 08:22:13 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2008-03-27 08:22:13 (UTC) |
commit | ee4056bd2c902a12dea67874368863fe60ea5a5f (patch) (side-by-side diff) | |
tree | d54da54ace7b8999cf8785d877a0a9cad5262a0c | |
parent | dc3282f0baa14949439593729a45fbe143e3622c (diff) | |
download | cgit-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>
-rw-r--r-- | cache.c | 1 | ||||
-rw-r--r-- | cache.h | 23 | ||||
-rw-r--r-- | cgit.c | 1 | ||||
-rw-r--r-- | cgit.h | 14 |
4 files changed, 25 insertions, 14 deletions
@@ -1,25 +1,26 @@ /* cache.c: cache management * * Copyright (C) 2006 Lars Hjemli * * Licensed under GNU General Public License v2 * (see COPYING for full license text) */ #include "cgit.h" +#include "cache.h" const int NOLOCK = -1; char *cache_safe_filename(const char *unsafe) { static char buf[4][PATH_MAX]; static int bufidx; char *s; char c; bufidx++; bufidx &= 3; s = buf[bufidx]; while(unsafe && (c = *unsafe++) != 0) { if (c == '/' || c == ' ' || c == '&' || c == '|' || @@ -0,0 +1,23 @@ +/* + * Since git has it's own cache.h which we include, + * lets test on CGIT_CACHE_H to avoid confusion + */ + +#ifndef CGIT_CACHE_H +#define CGIT_CACHE_H + +struct cacheitem { + char *name; + struct stat st; + int ttl; + int fd; +}; + +extern char *cache_safe_filename(const char *unsafe); +extern int cache_lock(struct cacheitem *item); +extern int cache_unlock(struct cacheitem *item); +extern int cache_cancel_lock(struct cacheitem *item); +extern int cache_exist(struct cacheitem *item); +extern int cache_expired(struct cacheitem *item); + +#endif /* CGIT_CACHE_H */ @@ -1,25 +1,26 @@ /* cgit.c: cgi for the git scm * * Copyright (C) 2006 Lars Hjemli * * Licensed under GNU General Public License v2 * (see COPYING for full license text) */ #include "cgit.h" +#include "cache.h" #include "cmd.h" #include "ui-shared.h" const char *cgit_version = CGIT_VERSION; void config_cb(const char *name, const char *value) { if (!strcmp(name, "root-title")) ctx.cfg.root_title = xstrdup(value); else if (!strcmp(name, "css")) ctx.cfg.css = xstrdup(value); else if (!strcmp(name, "logo")) ctx.cfg.logo = xstrdup(value); else if (!strcmp(name, "index-header")) ctx.cfg.index_header = xstrdup(value); else if (!strcmp(name, "index-info")) @@ -33,39 +33,32 @@ #define TM_HOUR (TM_MIN * 60) #define TM_DAY (TM_HOUR * 24) #define TM_WEEK (TM_DAY * 7) #define TM_YEAR (TM_DAY * 365) #define TM_MONTH (TM_YEAR / 12.0) /* * Default encoding */ #define PAGE_ENCODING "UTF-8" typedef void (*configfn)(const char *name, const char *value); typedef void (*filepair_fn)(struct diff_filepair *pair); typedef void (*linediff_fn)(char *line, int len); -struct cacheitem { - char *name; - struct stat st; - int ttl; - int fd; -}; - struct cgit_repo { char *url; char *name; char *path; char *desc; char *owner; char *defbranch; char *group; char *module_link; char *readme; char *clone_url; int snapshots; int enable_log_filecount; int enable_log_linecount; }; @@ -214,28 +207,21 @@ extern int cgit_diff_files(const unsigned char *old_sha1, linediff_fn fn); extern void cgit_diff_tree(const unsigned char *old_sha1, const unsigned char *new_sha1, filepair_fn fn, const char *prefix); extern void cgit_diff_commit(struct commit *commit, filepair_fn fn); extern char *fmt(const char *format,...); extern int cgit_read_config(const char *filename, configfn fn); extern int cgit_parse_query(char *txt, configfn fn); extern struct commitinfo *cgit_parse_commit(struct commit *commit); extern struct taginfo *cgit_parse_tag(struct tag *tag); extern void cgit_parse_url(const char *url); -extern char *cache_safe_filename(const char *unsafe); -extern int cache_lock(struct cacheitem *item); -extern int cache_unlock(struct cacheitem *item); -extern int cache_cancel_lock(struct cacheitem *item); -extern int cache_exist(struct cacheitem *item); -extern int cache_expired(struct cacheitem *item); - extern const char *cgit_repobasename(const char *reponame); extern int cgit_parse_snapshots_mask(const char *str); #endif /* CGIT_H */ |