List for cgit developers and users
 help / color / mirror / Atom feed
From: Jason at zx2c4.com (Jason A. Donenfeld)
Subject: [PATCH v2 7/9] filter: return on null filter from open and close
Date: Mon, 13 Jan 2014 15:00:28 +0100	[thread overview]
Message-ID: <1389621630-15044-8-git-send-email-Jason@zx2c4.com> (raw)
In-Reply-To: <1389621630-15044-1-git-send-email-Jason@zx2c4.com>

So that we don't have to include the if(filter) open_filter(filter)
block everywhere, we introduce the guard in the function itself. This
should simplify quite a bit of code.

Signed-off-by: Jason A. Donenfeld <Jason at zx2c4.com>
---
 filter.c      |  4 ++++
 ui-commit.c   | 18 ++++++------------
 ui-repolist.c |  6 ++----
 ui-summary.c  |  8 ++------
 4 files changed, 14 insertions(+), 22 deletions(-)

diff --git a/filter.c b/filter.c
index 3702585..7983737 100644
--- a/filter.c
+++ b/filter.c
@@ -351,6 +351,8 @@ int cgit_open_filter(struct cgit_filter *filter, ...)
 {
 	int result;
 	va_list ap;
+	if (!filter)
+		return 0;
 	va_start(ap, filter);
 	result = filter->open(filter, ap);
 	va_end(ap);
@@ -359,6 +361,8 @@ int cgit_open_filter(struct cgit_filter *filter, ...)
 
 int cgit_close_filter(struct cgit_filter *filter)
 {
+	if (!filter)
+		return 0;
 	return filter->close(filter);
 }
 
diff --git a/ui-commit.c b/ui-commit.c
index aa1892f..5ac79c0 100644
--- a/ui-commit.c
+++ b/ui-commit.c
@@ -107,28 +107,22 @@ void cgit_print_commit(char *hex, const char *prefix)
 	}
 	html("</table>\n");
 	html("<div class='commit-subject'>");
-	if (ctx.repo->commit_filter)
-		cgit_open_filter(ctx.repo->commit_filter);
+	cgit_open_filter(ctx.repo->commit_filter);
 	html_txt(info->subject);
-	if (ctx.repo->commit_filter)
-		cgit_close_filter(ctx.repo->commit_filter);
+	cgit_close_filter(ctx.repo->commit_filter);
 	show_commit_decorations(commit);
 	html("</div>");
 	html("<div class='commit-msg'>");
-	if (ctx.repo->commit_filter)
-		cgit_open_filter(ctx.repo->commit_filter);
+	cgit_open_filter(ctx.repo->commit_filter);
 	html_txt(info->msg);
-	if (ctx.repo->commit_filter)
-		cgit_close_filter(ctx.repo->commit_filter);
+	cgit_close_filter(ctx.repo->commit_filter);
 	html("</div>");
 	if (notes.len != 0) {
 		html("<div class='notes-header'>Notes</div>");
 		html("<div class='notes'>");
-		if (ctx.repo->commit_filter)
-			cgit_open_filter(ctx.repo->commit_filter);
+		cgit_open_filter(ctx.repo->commit_filter);
 		html_txt(notes.buf);
-		if (ctx.repo->commit_filter)
-			cgit_close_filter(ctx.repo->commit_filter);
+		cgit_close_filter(ctx.repo->commit_filter);
 		html("</div>");
 		html("<div class='notes-footer'></div>");
 	}
diff --git a/ui-repolist.c b/ui-repolist.c
index 7b1fec3..f9cb21a 100644
--- a/ui-repolist.c
+++ b/ui-repolist.c
@@ -333,9 +333,7 @@ void cgit_print_site_readme()
 {
 	if (!ctx.cfg.root_readme)
 		return;
-	if (ctx.cfg.about_filter)
-		cgit_open_filter(ctx.cfg.about_filter, ctx.cfg.root_readme);
+	cgit_open_filter(ctx.cfg.about_filter, ctx.cfg.root_readme);
 	html_include(ctx.cfg.root_readme);
-	if (ctx.cfg.about_filter)
-		cgit_close_filter(ctx.cfg.about_filter);
+	cgit_close_filter(ctx.cfg.about_filter);
 }
diff --git a/ui-summary.c b/ui-summary.c
index 725f3ab..ddd8f1b 100644
--- a/ui-summary.c
+++ b/ui-summary.c
@@ -151,16 +151,12 @@ void cgit_print_repo_readme(char *path)
 	 * filesystem, while applying the about-filter.
 	 */
 	html("<div id='summary'>");
-	if (ctx.repo->about_filter)
-		cgit_open_filter(ctx.repo->about_filter, filename);
-
+	cgit_open_filter(ctx.repo->about_filter, filename);
 	if (ref)
 		cgit_print_file(filename, ref, 1);
 	else
 		html_include(filename);
-
-	if (ctx.repo->about_filter)
-		cgit_close_filter(ctx.repo->about_filter);
+	cgit_close_filter(ctx.repo->about_filter);
 
 	html("</div>");
 	if (free_filename)
-- 
1.8.5.2



  parent reply	other threads:[~2014-01-13 14:00 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-13 14:00 [PATCH v2 0/9] filter framework and lua support: complete Jason
2014-01-13 14:00 ` [PATCH v2 1/9] filter: add fprintf_filter function Jason
2014-01-13 14:00 ` [PATCH v2 2/9] filter: add interface layer Jason
2014-01-13 14:00 ` [PATCH v2 3/9] filter: introduce "filter type" prefix Jason
2014-01-13 14:00 ` [PATCH v2 4/9] filter: allow for cleanup hook for filter types Jason
2014-01-13 14:00 ` [PATCH v2 5/9] filter: basic write hooking infrastructure Jason
2014-01-13 14:00 ` [PATCH v2 6/9] filter: add lua support Jason
2014-01-13 14:00 ` Jason [this message]
2014-01-13 14:00 ` [PATCH v2 8/9] filter: add support for email filter Jason
2014-01-13 14:00 ` [PATCH v2 9/9] filter: add gravatar scripts Jason

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1389621630-15044-8-git-send-email-Jason@zx2c4.com \
    --to=cgit@lists.zx2c4.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).