Commit 33bf1b1ab0e14453e67e94dc6aa679dcdcce56e8

Eoin Coffey 2014-05-28T09:40:08

examples/log.c: invert filtering impl and conditional

diff --git a/examples/log.c b/examples/log.c
index 965f854..d5f75a2 100644
--- a/examples/log.c
+++ b/examples/log.c
@@ -67,8 +67,8 @@ static void print_commit(git_commit *commit);
 static int match_with_parent(git_commit *commit, int i, git_diff_options *);
 
 /** utility functions for filtering */
-static int signature_does_not_match(const git_signature *sig, const char *filter);
-static int log_message_does_not_match(const git_commit *commit, const char *filter);
+static int signature_matches(const git_signature *sig, const char *filter);
+static int log_message_matches(const git_commit *commit, const char *filter);
 
 int main(int argc, char *argv[])
 {
@@ -132,13 +132,13 @@ int main(int argc, char *argv[])
 				continue;
 		}
 
-		if (signature_does_not_match(git_commit_author(commit), opt.author))
+		if (!signature_matches(git_commit_author(commit), opt.author))
 			continue;
 
-		if (signature_does_not_match(git_commit_committer(commit), opt.committer))
+		if (!signature_matches(git_commit_committer(commit), opt.committer))
 			continue;
 
-		if (log_message_does_not_match(commit, opt.grep))
+		if (!log_message_matches(commit, opt.grep))
 			continue;
 
 		if (count++ < opt.skip)
@@ -186,26 +186,26 @@ int main(int argc, char *argv[])
 }
 
 /** Determine if the given git_signature does not contain the filter text. */
-static int signature_does_not_match(const git_signature *sig, const char *filter) {
+static int signature_matches(const git_signature *sig, const char *filter) {
 	if (filter == NULL)
-		return 0;
+		return 1;
 
-	if (sig == NULL ||
-		(strstr(sig->name, filter) == NULL &&
-		strstr(sig->email, filter) == NULL))
+	if (sig != NULL &&
+		(strstr(sig->name, filter) != NULL ||
+		strstr(sig->email, filter) != NULL))
 		return 1;
 
 	return 0;
 }
 
-static int log_message_does_not_match(const git_commit *commit, const char *filter) {
+static int log_message_matches(const git_commit *commit, const char *filter) {
 	const char *message = NULL;
 
 	if (filter == NULL)
-		return 0;
+		return 1;
 
-	if ((message = git_commit_message(commit)) == NULL ||
-		strstr(message, filter) == NULL)
+	if ((message = git_commit_message(commit)) != NULL &&
+		strstr(message, filter) != NULL)
 		return 1;
 
 	return 0;