filter: return on null filter from open and close
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@zx2c4.com>
Esse commit está contido em:
		
							
								
								
									
										4
									
								
								filter.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								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);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										18
									
								
								ui-commit.c
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								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>");
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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)
 | 
			
		||||
 
 | 
			
		||||
		Referência em uma nova issue
	
	Block a user