cgit

commit f5c83d7b5ddceb03e1c6bda2e43c48500c7da9f5

Author: Christian Hesse <mail@eworm.de>

move get_mimetype_from_file() to shared

Signed-off-by: Christian Hesse <mail@eworm.de>

 cgit.h | 2 ++
 shared.c | 40 ++++++++++++++++++++++++++++++++++++++++
 ui-plain.c | 40 ----------------------------------------


diff --git a/cgit.h b/cgit.h
index f3276276fe2c258ae802d8c0351422affb1f468d..0f1e18626e9d2d134fd593b696b1a5fe4a7daccd 100644
--- a/cgit.h
+++ b/cgit.h
@@ -391,4 +391,6 @@ extern int readfile(const char *path, char **buf, size_t *size);
 
 extern char *expand_macros(const char *txt);
 
+extern char *get_mimetype_from_file(const char *filename, const char *ext);
+
 #endif /* CGIT_H */




diff --git a/shared.c b/shared.c
index 3bd2a9e3dadd39282712f297218433cdfcdb34d1..fb4e8ca642d4b3c3f988b30f5c1487ad952edb44 100644
--- a/shared.c
+++ b/shared.c
@@ -560,3 +560,43 @@ 		*p = '\0';
 	}
 	return result;
 }
+
+char *get_mimetype_from_file(const char *filename, const char *ext)
+{
+	static const char *delimiters;
+	char *result;
+	FILE *fd;
+	char line[1024];
+	char *mimetype;
+	char *token;
+
+	if (!filename)
+		return NULL;
+
+	fd = fopen(filename, "r");
+	if (!fd)
+		return NULL;
+
+	delimiters = " \t\r\n";
+	result = NULL;
+
+	/* loop over all lines in the file */
+	while (!result && fgets(line, sizeof(line), fd)) {
+		mimetype = strtok(line, delimiters);
+
+		/* skip empty lines and comment lines */
+		if (!mimetype || (mimetype[0] == '#'))
+			continue;
+
+		/* loop over all extensions of mimetype */
+		while ((token = strtok(NULL, delimiters))) {
+			if (!strcasecmp(ext, token)) {
+				result = xstrdup(mimetype);
+				break;
+			}
+		}
+	}
+	fclose(fd);
+
+	return result;
+}




diff --git a/ui-plain.c b/ui-plain.c
index 0daa7bf062db66683f9e7ae107feb20f07973183..d68518e1771a7ed10c6b52d42dc5aaf9a469daf4 100644
--- a/ui-plain.c
+++ b/ui-plain.c
@@ -16,46 +16,6 @@ 	int match_baselen;
 	int match;
 };
 
-static char *get_mimetype_from_file(const char *filename, const char *ext)
-{
-	static const char *delimiters;
-	char *result;
-	FILE *fd;
-	char line[1024];
-	char *mimetype;
-	char *token;
-
-	if (!filename)
-		return NULL;
-
-	fd = fopen(filename, "r");
-	if (!fd)
-		return NULL;
-
-	delimiters = " \t\r\n";
-	result = NULL;
-
-	/* loop over all lines in the file */
-	while (!result && fgets(line, sizeof(line), fd)) {
-		mimetype = strtok(line, delimiters);
-
-		/* skip empty lines and comment lines */
-		if (!mimetype || (mimetype[0] == '#'))
-			continue;
-
-		/* loop over all extensions of mimetype */
-		while ((token = strtok(NULL, delimiters))) {
-			if (!strcasecmp(ext, token)) {
-				result = xstrdup(mimetype);
-				break;
-			}
-		}
-	}
-	fclose(fd);
-
-	return result;
-}
-
 static int print_object(const unsigned char *sha1, const char *path)
 {
 	enum object_type type;