All of lore.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.