about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2007-01-12 00:00:15 +0100
committerLars Hjemli <hjemli@gmail.com>2007-01-12 00:00:15 +0100
commit83a5f35a2724ee60bfd8c5679b98da7008272254 (patch)
treeb530ed30437c963e4e73db433d8a4e9dd9f7e7d6
parentUse long instead of int when converting from TTL to seconds (diff)
downloadcgit-pink-83a5f35a2724ee60bfd8c5679b98da7008272254.tar.gz
cgit-pink-83a5f35a2724ee60bfd8c5679b98da7008272254.zip
Move cache_prepare() to cgit
This moves some cgit-specific stuff away from cache.c

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r--cache.c22
-rw-r--r--cgit.c25
-rw-r--r--cgit.h1
3 files changed, 23 insertions, 25 deletions
diff --git a/cache.c b/cache.c
index 91b89a6..1ff1251 100644
--- a/cache.c
+++ b/cache.c
@@ -10,28 +10,6 @@
 
 const int NOLOCK = -1;
 
-void cache_prepare(struct cacheitem *item)
-{
-	if (!cgit_query_repo) {
-		item->name = xstrdup(fmt("%s/index.html", cgit_cache_root));
-		item->ttl = cgit_cache_root_ttl;
-	} else if (!cgit_query_page) {
-		item->name = xstrdup(fmt("%s/%s/index.html", cgit_cache_root, 
-			   cgit_query_repo));
-		item->ttl = cgit_cache_repo_ttl;
-	} else {
-		item->name = xstrdup(fmt("%s/%s/%s/%s.html", cgit_cache_root, 
-			   cgit_query_repo, cgit_query_page, 
-			   cgit_querystring));
-		if (cgit_query_has_symref)
-			item->ttl = cgit_cache_dynamic_ttl;
-		else if (cgit_query_has_sha1)
-			item->ttl = cgit_cache_static_ttl;
-		else
-			item->ttl = cgit_cache_repo_ttl;
-	}
-}
-
 int cache_exist(struct cacheitem *item)
 {
 	if (stat(item->name, &item->st)) {
diff --git a/cgit.c b/cgit.c
index 5dcba76..d975570 100644
--- a/cgit.c
+++ b/cgit.c
@@ -10,6 +10,28 @@
 
 const char cgit_version[] = CGIT_VERSION;
 
+static void cgit_prepare_cache(struct cacheitem *item)
+{
+	if (!cgit_query_repo) {
+		item->name = xstrdup(fmt("%s/index.html", cgit_cache_root));
+		item->ttl = cgit_cache_root_ttl;
+	} else if (!cgit_query_page) {
+		item->name = xstrdup(fmt("%s/%s/index.html", cgit_cache_root, 
+			   cgit_query_repo));
+		item->ttl = cgit_cache_repo_ttl;
+	} else {
+		item->name = xstrdup(fmt("%s/%s/%s/%s.html", cgit_cache_root, 
+			   cgit_query_repo, cgit_query_page, 
+			   cgit_querystring));
+		if (cgit_query_has_symref)
+			item->ttl = cgit_cache_dynamic_ttl;
+		else if (cgit_query_has_sha1)
+			item->ttl = cgit_cache_static_ttl;
+		else
+			item->ttl = cgit_cache_repo_ttl;
+	}
+}
+
 static void cgit_print_repo_page(struct cacheitem *item)
 {
 	if (chdir(fmt("%s/%s", cgit_root, cgit_query_repo)) || 
@@ -63,7 +85,6 @@ static void cgit_check_cache(struct cacheitem *item)
 {
 	int i = 0;
 
-	cache_prepare(item);
  top:
 	if (++i > cgit_max_lock_attempts) {
 		die("cgit_refresh_cache: unable to lock %s: %s",
@@ -152,8 +173,8 @@ int main(int argc, const char **argv)
 	cgit_parse_args(argc, argv);
 	cgit_parse_query(cgit_querystring, cgit_querystring_cb);
 
+	cgit_prepare_cache(&item);
 	if (cgit_nocache) {
-		cache_prepare(&item);
 		item.fd = STDOUT_FILENO;
 		cgit_fill_cache(&item);
 	} else {
diff --git a/cgit.h b/cgit.h
index eb8f08c..f915c86 100644
--- a/cgit.h
+++ b/cgit.h
@@ -87,7 +87,6 @@ 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 void cache_prepare(struct cacheitem *item);
 extern int cache_lock(struct cacheitem *item);
 extern int cache_unlock(struct cacheitem *item);
 extern int cache_cancel_lock(struct cacheitem *item);
e='2019-02-22 15:13:58 -0500'>2019-02-22Fix name of <raw> window in man pageJune McEnroe 2019-02-22Rename global tags with angle bracketsJune McEnroe 2019-02-22Show status window while connectingJune McEnroe 2019-02-22Reorganize UI code for the umpteenth timeJune McEnroe It's actually in a good state now, I think. 2019-02-21Replace "view" with "window"June McEnroe I think originally I didn't want to use the same word as curses WINDOW but it's really much clearer for the user if they're just called windows. UI code probably needs yet another rewrite though. Still feels messy. 2019-02-21Remove ROT13June McEnroe It's just not convenient when it can only do the whole line... 2019-02-21Clean up man pageJune McEnroe 2019-01-26Draw UI before connectingJune McEnroe Otherwise the "Traveling" message isn't visible while connecting. 2019-01-25Avoid unused variable warnings with getyxJune McEnroe 2019-01-25Add GNU/Linux build instructionsJune McEnroe