Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/libgit2.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEoin Coffey <ecoffey@gmail.com>2014-05-28 19:40:08 +0400
committerEoin Coffey <ecoffey@gmail.com>2014-05-28 19:40:08 +0400
commit33bf1b1ab0e14453e67e94dc6aa679dcdcce56e8 (patch)
tree7405f59def424b8bff8ee4a632aa6074b546319f /examples
parent87493bca9c5c14f99adea5ceadf6caa8005a6ada (diff)
examples/log.c: invert filtering impl and conditional
Diffstat (limited to 'examples')
-rw-r--r--examples/log.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/examples/log.c b/examples/log.c
index 965f854d7..d5f75a297 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;