tracing: Simplify code for showing of soft disabled flag
authorTom Zanussi <tom.zanussi@linux.intel.com>
Sat, 29 Jun 2013 05:08:04 +0000 (00:08 -0500)
committerSteven Rostedt <rostedt@goodmis.org>
Tue, 2 Jul 2013 00:34:25 +0000 (20:34 -0400)
Rather than enumerating each permutation, build the enable state
string up from the combination of states.  This also allows for the
simpler addition of more states.

Link: http://lkml.kernel.org/r/9aff5af6dee2f5a40ca30df41c39d5f33e998d7a.1372479499.git.tom.zanussi@linux.intel.com
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
kernel/trace/trace_events.c

index 903a0bf2685ec767b82a670d58af09d53aaa9e48..7ee08b95c384536922dd760c3d2497a77aeb6508 100644 (file)
@@ -638,17 +638,17 @@ event_enable_read(struct file *filp, char __user *ubuf, size_t cnt,
                  loff_t *ppos)
 {
        struct ftrace_event_file *file = filp->private_data;
-       char *buf;
+       char buf[4] = "0";
 
-       if (file->flags & FTRACE_EVENT_FL_ENABLED) {
-               if (file->flags & FTRACE_EVENT_FL_SOFT_DISABLED)
-                       buf = "0*\n";
-               else if (file->flags & FTRACE_EVENT_FL_SOFT_MODE)
-                       buf = "1*\n";
-               else
-                       buf = "1\n";
-       } else
-               buf = "0\n";
+       if (file->flags & FTRACE_EVENT_FL_ENABLED &&
+           !(file->flags & FTRACE_EVENT_FL_SOFT_DISABLED))
+               strcpy(buf, "1");
+
+       if (file->flags & FTRACE_EVENT_FL_SOFT_DISABLED ||
+           file->flags & FTRACE_EVENT_FL_SOFT_MODE)
+               strcat(buf, "*");
+
+       strcat(buf, "\n");
 
        return simple_read_from_buffer(ubuf, cnt, ppos, buf, strlen(buf));
 }