linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jason Baron <jbaron@redhat.com>
To: greg@kroah.com
Cc: jim.cromie@gmail.com, joe@perches.com, bart.vanassche@gmail.com,
	linux-kernel@vger.kernel.org
Subject: [PATCH 15/16] dynamic_debug: factor vpr_info_dq out of ddebug_parse_query
Date: Mon, 19 Dec 2011 17:13:16 -0500	[thread overview]
Message-ID: <d3379e3504fcb51e666d85b0a7aef33f27e0c353.1324318997.git.jbaron@redhat.com> (raw)
In-Reply-To: <cover.1324318997.git.jbaron@redhat.com>

From: Jim Cromie <jim.cromie@gmail.com>

Factor pr_info(query) out of ddebug_parse_query, into pr_info_dq(),
for reuse later.  Also change the printed labels: file, func to agree
with the query-spec keywords accepted in the control file.  Pass ""
when string is null, to avoid "(null)" output from sprintf.  For
format print, use precision to skip last char, assuming its '\n', no
great harm if not, its a debug msg.

Signed-off-by: Jim Cromie <jim.cromie@gmail.com>
Signed-off-by: Jason Baron <jbaron@redhat.com>
---
 lib/dynamic_debug.c |   25 +++++++++++++++++--------
 1 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c
index a5508a1..93fc5d5 100644
--- a/lib/dynamic_debug.c
+++ b/lib/dynamic_debug.c
@@ -107,6 +107,22 @@ static char *ddebug_describe_flags(struct _ddebug *dp, char *buf,
 	return buf;
 }
 
+#define vpr_info_dq(q, msg)						\
+do {									\
+	if (verbose)							\
+		/* trim last char off format print */			\
+		pr_info("%s: func=\"%s\" file=\"%s\" "			\
+			"module=\"%s\" format=\"%.*s\" "		\
+			"lineno=%u-%u",					\
+			msg,						\
+			q->function ? q->function : "",			\
+			q->filename ? q->filename : "",			\
+			q->module ? q->module : "",			\
+			(int)(q->format ? strlen(q->format) - 1 : 0),	\
+			q->format ? q->format : "",			\
+			q->first_lineno, q->last_lineno);		\
+} while (0)
+
 /*
  * Search the tables for _ddebug's which match the given
  * `query' and apply the `flags' and `mask' to them.  Tells
@@ -367,14 +383,7 @@ static int ddebug_parse_query(char *words[], int nwords,
 		if (rc)
 			return rc;
 	}
-
-	if (verbose)
-		pr_info("q->function=\"%s\" q->filename=\"%s\" "
-			"q->module=\"%s\" q->format=\"%s\" q->lineno=%u-%u\n",
-			query->function, query->filename,
-			query->module, query->format, query->first_lineno,
-			query->last_lineno);
-
+	vpr_info_dq(query, "parsed");
 	return 0;
 }
 
-- 
1.7.7.3


  parent reply	other threads:[~2011-12-19 22:13 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-19 22:11 [PATCH 00/16] dynamic debug: ehancements and cleanups Jason Baron
2011-12-19 22:11 ` [PATCH 01/16] dynamic_debug: fix whitespace complaints from scripts/cleanfile Jason Baron
2011-12-19 22:11 ` [PATCH 02/16] dynamic_debug: drop enabled field from struct _ddebug, use _DPRINTK_FLAGS_PRINT Jason Baron
2011-12-19 22:11 ` [PATCH 03/16] dynamic_debug: make dynamic-debug supersede DEBUG ccflag Jason Baron
2011-12-19 22:12 ` [PATCH 04/16] dynamic_debug: change verbosity at runtime Jason Baron
2011-12-19 22:12 ` [PATCH 05/16] dynamic_debug: replace strcpy with strlcpy, in ddebug_setup_query() Jason Baron
2011-12-20  8:08   ` Bart Van Assche
2011-12-21 21:30     ` Jason Baron
2011-12-19 22:12 ` [PATCH 06/16] dynamic_debug: pr_err() call should not depend upon verbosity Jason Baron
2011-12-19 22:12 ` [PATCH 07/16] dynamic_debug: drop explicit !=NULL checks Jason Baron
2011-12-19 22:12 ` [PATCH 08/16] dynamic_debug: describe_flags with '=[pmflt_]*' Jason Baron
2011-12-19 22:12 ` [PATCH 09/16] dynamic_debug: tighten up error checking on debug queries Jason Baron
2011-12-19 22:12 ` [PATCH 10/16] dynamic_debug: early return if _ddebug table is empty Jason Baron
2011-12-19 22:12 ` [PATCH 11/16] dynamic_debug: reduce lineno field to a saner 18 bits Jason Baron
2011-12-19 22:13 ` [PATCH 12/16] dynamic_debug: chop off comments in ddebug_tokenize Jason Baron
2011-12-19 22:13 ` [PATCH 13/16] dynamic_debug: enlarge command/query write buffer Jason Baron
2011-12-19 22:13 ` [PATCH 14/16] dynamic_debug: add trim_prefix() to provide source-root relative paths Jason Baron
2011-12-20  8:15   ` Bart Van Assche
2011-12-21 21:32     ` Jason Baron
2011-12-19 22:13 ` Jason Baron [this message]
2011-12-20  8:17   ` [PATCH 15/16] dynamic_debug: factor vpr_info_dq out of ddebug_parse_query Bart Van Assche
2011-12-20 15:47     ` Jim Cromie
2011-12-20 15:49       ` Bart Van Assche
2011-12-21 21:33         ` Jason Baron
2012-01-24 20:50           ` Greg KH
2011-12-19 22:13 ` [PATCH 16/16] dynamic_debug: process multiple debug-queries on a line Jason Baron

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d3379e3504fcb51e666d85b0a7aef33f27e0c353.1324318997.git.jbaron@redhat.com \
    --to=jbaron@redhat.com \
    --cc=bart.vanassche@gmail.com \
    --cc=greg@kroah.com \
    --cc=jim.cromie@gmail.com \
    --cc=joe@perches.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).