cgit

commit 51ada4fda2b47710351e6e4da8a95807d6d9f729

Author: Lars Hjemli <hjemli@gmail.com>

Rename config.c to parsing.c + move cgit_parse_query from cgit.c to parsing.c

Signed-off-by: Lars Hjemli <hjemli@gmail.com>

 Makefile | 5 +++--
 cgit.c | 26 --------------------------
 cgit.h | 1 +
  | 25 +++++++++++++++++++++++++


diff --git a/Makefile b/Makefile
index c71e39cb66413ebfb16341a1d8d2f3682e8599ed..eab7926e5676c86a776bc4d6fe567f38778501c6 100644
--- a/Makefile
+++ b/Makefile
@@ -5,7 +5,7 @@ INSTALL_CSS = /var/www/htdocs/cgit.css
 CACHE_ROOT = /var/cache/cgit
 
 EXTLIBS = ../git/libgit.a ../git/xdiff/lib.a -lz -lcrypto
-OBJECTS = config.o html.o cache.o
+OBJECTS = parsing.o html.o cache.o
 
 CFLAGS += -Wall
 
@@ -17,7 +17,8 @@ 	install cgit.css $(INSTALL_CSS)
 	rm -rf $(CACHE_ROOT)/*
 
 cgit: cgit.c cgit.h git.h $(OBJECTS)
-	$(CC) $(CFLAGS) -DCGIT_VERSION='"$(CGIT_VERSION)"' cgit.c -o cgit $(OBJECTS) $(EXTLIBS)
+	$(CC) $(CFLAGS) -DCGIT_VERSION='"$(CGIT_VERSION)"' cgit.c -o cgit \
+		$(OBJECTS) $(EXTLIBS)
 
 $(OBJECTS): cgit.h git.h
 




diff --git a/cgit.c b/cgit.c
index dc911257afdbc3350e69f124f2b725b656e912d3..5567859c0e01f310c960de8c119526ff1ba5ceb5 100644
--- a/cgit.c
+++ b/cgit.c
@@ -53,32 +53,6 @@ char *cgit_query_sha1   = NULL;
 
 struct cacheitem cacheitem;
 
-int cgit_parse_query(char *txt, configfn fn)
-{
-	char *t, *value = NULL, c;
-
-	if (!txt)
-		return 0;
-
-	t = txt = xstrdup(txt);
- 
-	while((c=*t) != '\0') {
-		if (c=='=') {
-			*t = '\0';
-			value = t+1;
-		} else if (c=='&') {
-			*t = '\0';
-			(*fn)(txt, value);
-			txt = t+1;
-			value = NULL;
-		}
-		t++;
-	}
-	if (t!=txt)
-		(*fn)(txt, value);
-	return 0;
-}
-
 void cgit_global_config_cb(const char *name, const char *value)
 {
 	if (!strcmp(name, "root"))




diff --git a/cgit.h b/cgit.h
index 7e4bfeff219442d64d6876a77a8fa855c376b38c..6c0aa3bd0d05f97312ed6ac9f95927e2f87cb3f8 100644
--- a/cgit.h
+++ b/cgit.h
@@ -56,6 +56,7 @@ extern void html_link_close(void);
 
 
 extern int cgit_read_config(const char *filename, configfn fn);
+extern int cgit_parse_query(char *txt, configfn fn);
 
 extern void cache_prepare(struct cacheitem *item);
 extern int cache_lock(struct cacheitem *item);




diff --git a/config.c b/config.c
deleted file mode 100644
index 871edf228f2088ef980c0dc2f2e68d83b27ab395..0000000000000000000000000000000000000000
--- a/config.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/* config.c: parsing of config files
- *
- * Copyright (C) 2006 Lars Hjemli
- *
- * Licensed under GNU General Public License v2
- *   (see COPYING for full license text)
- */
-
-#include "cgit.h"
-
-int next_char(FILE *f)
-{
-	int c = fgetc(f);
-	if (c=='\r') {
-		c = fgetc(f);
-		if (c!='\n') {
-			ungetc(c, f);
-			c = '\r';
-		}
-	}
-	return c;
-}
-
-void skip_line(FILE *f)
-{
-	int c;
-
-	while((c=next_char(f)) && c!='\n' && c!=EOF)
-		;
-}
-
-int read_config_line(FILE *f, char *line, const char **value, int bufsize)
-{
-	int i = 0, isname = 0;
-
-	*value = NULL;
-	while(i<bufsize-1) {
-		int c = next_char(f);
-		if (!isname && (c=='#' || c==';')) {
-			skip_line(f);
-			continue;
-		}
-		if (!isname && isspace(c))
-			continue;
-
-		if (c=='=' && !*value) {
-			line[i] = 0;
-			*value = &line[i+1];
-		} else if (c=='\n' && !isname) {
-			i = 0;
-			continue;
-		} else if (c=='\n' || c==EOF) {
-			line[i] = 0;
-			break;
-		} else {
-			line[i]=c;
-		}
-		isname = 1;
-		i++;
-	}
-	line[i+1] = 0;
-	return i;
-}
-
-int cgit_read_config(const char *filename, configfn fn)
-{
-	int ret = 0, len;
-	char line[256];
-	const char *value;
-	FILE *f = fopen(filename, "r");
-
-	if (!f)
-		return -1;
-
-	while((len = read_config_line(f, line, &value, sizeof(line))) > 0)
-		(*fn)(line, value);
-
-	fclose(f);
-	return ret;
-}
-




diff --git a/parsing.c b/parsing.c
new file mode 100644
index 0000000000000000000000000000000000000000..98b32434b6157bffce33ae47f664c6a43e8f1a8b
--- /dev/null
+++ b/parsing.c
@@ -0,0 +1,106 @@
+/* config.c: parsing of config files
+ *
+ * Copyright (C) 2006 Lars Hjemli
+ *
+ * Licensed under GNU General Public License v2
+ *   (see COPYING for full license text)
+ */
+
+#include "cgit.h"
+
+int next_char(FILE *f)
+{
+	int c = fgetc(f);
+	if (c=='\r') {
+		c = fgetc(f);
+		if (c!='\n') {
+			ungetc(c, f);
+			c = '\r';
+		}
+	}
+	return c;
+}
+
+void skip_line(FILE *f)
+{
+	int c;
+
+	while((c=next_char(f)) && c!='\n' && c!=EOF)
+		;
+}
+
+int read_config_line(FILE *f, char *line, const char **value, int bufsize)
+{
+	int i = 0, isname = 0;
+
+	*value = NULL;
+	while(i<bufsize-1) {
+		int c = next_char(f);
+		if (!isname && (c=='#' || c==';')) {
+			skip_line(f);
+			continue;
+		}
+		if (!isname && isspace(c))
+			continue;
+
+		if (c=='=' && !*value) {
+			line[i] = 0;
+			*value = &line[i+1];
+		} else if (c=='\n' && !isname) {
+			i = 0;
+			continue;
+		} else if (c=='\n' || c==EOF) {
+			line[i] = 0;
+			break;
+		} else {
+			line[i]=c;
+		}
+		isname = 1;
+		i++;
+	}
+	line[i+1] = 0;
+	return i;
+}
+
+int cgit_read_config(const char *filename, configfn fn)
+{
+	int ret = 0, len;
+	char line[256];
+	const char *value;
+	FILE *f = fopen(filename, "r");
+
+	if (!f)
+		return -1;
+
+	while((len = read_config_line(f, line, &value, sizeof(line))) > 0)
+		(*fn)(line, value);
+
+	fclose(f);
+	return ret;
+}
+
+int cgit_parse_query(char *txt, configfn fn)
+{
+	char *t, *value = NULL, c;
+
+	if (!txt)
+		return 0;
+
+	t = txt = xstrdup(txt);
+ 
+	while((c=*t) != '\0') {
+		if (c=='=') {
+			*t = '\0';
+			value = t+1;
+		} else if (c=='&') {
+			*t = '\0';
+			(*fn)(txt, value);
+			txt = t+1;
+			value = NULL;
+		}
+		t++;
+	}
+	if (t!=txt)
+		(*fn)(txt, value);
+	return 0;
+}