public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3]Add-the-cmp_null-function-to-builtin-annotate.c
@ 2009-09-24 16:01 John Kacur
  2009-09-24 16:33 ` John Kacur
  2009-09-24 19:36 ` [tip:perf/core] perf annotate: Add the cmp_null function and make use of it tip-bot for John Kacur
  0 siblings, 2 replies; 3+ messages in thread
From: John Kacur @ 2009-09-24 16:01 UTC (permalink / raw)
  To: mingo, Peter Zijlstra; +Cc: linux-kernel, linux-perf-users

>From 93d856e28036610f54efc41efba89cd887f2af90 Mon Sep 17 00:00:00 2001
From: John Kacur <jkacur@redhat.com>
Date: Mon, 21 Sep 2009 13:10:45 +0200
Subject: [PATCH] Add the cmp_null function to builtin-annotate.c and make use of it.

Add the cmp_null function to builtin-annotate.c and make use of it.
This function exists in builtin-report.c but not in builtin-annotate.c
Functions that use cmp_null are shorter and clearer. Synchronizing functions
between these two files will also make it easier to potential share code in
the future.

Signed-off-by: John Kacur <jkacur@redhat.com>
---
 tools/perf/builtin-annotate.c |   30 ++++++++++++++----------------
 1 files changed, 14 insertions(+), 16 deletions(-)

diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
index 1ec7416..a330873 100644
--- a/tools/perf/builtin-annotate.c
+++ b/tools/perf/builtin-annotate.c
@@ -82,6 +82,16 @@ struct sort_entry {
 	size_t	(*print)(FILE *fp, struct hist_entry *);
 };
 
+static int64_t cmp_null(void *l, void *r)
+{
+	if (!l && !r)
+		return 0;
+	else if (!l)
+		return -1;
+	else
+		return 1;
+}
+
 /* --sort pid */
 
 static int64_t
@@ -116,14 +126,8 @@ sort__comm_collapse(struct hist_entry *left, struct hist_entry *right)
 	char *comm_l = left->thread->comm;
 	char *comm_r = right->thread->comm;
 
-	if (!comm_l || !comm_r) {
-		if (!comm_l && !comm_r)
-			return 0;
-		else if (!comm_l)
-			return -1;
-		else
-			return 1;
-	}
+	if (!comm_l || !comm_r)
+		return cmp_null(comm_l, comm_r);
 
 	return strcmp(comm_l, comm_r);
 }
@@ -149,14 +153,8 @@ sort__dso_cmp(struct hist_entry *left, struct hist_entry *right)
 	struct dso *dso_l = left->dso;
 	struct dso *dso_r = right->dso;
 
-	if (!dso_l || !dso_r) {
-		if (!dso_l && !dso_r)
-			return 0;
-		else if (!dso_l)
-			return -1;
-		else
-			return 1;
-	}
+	if (!dso_l || !dso_r)
+		return cmp_null(dso_l, dso_r);
 
 	return strcmp(dso_l->name, dso_r->name);
 }
-- 
1.6.0.6


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-09-24 19:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-24 16:01 [PATCH 1/3]Add-the-cmp_null-function-to-builtin-annotate.c John Kacur
2009-09-24 16:33 ` John Kacur
2009-09-24 19:36 ` [tip:perf/core] perf annotate: Add the cmp_null function and make use of it tip-bot for John Kacur

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox