浏览代码

perf tools: Bool functions shouldn't return -1

Returning a negative value for a boolean function seem to have the
undesired effect of returning true. Replace -1 by false in a
bool-returning function.

The diff of the .s file before and after the change (for x86_64):

  3907c3907
  < 	movl	$1, %ebx
  ---
  > 	xorl	%ebx, %ebx

while if -1 is replaced by true, the diff is empty.

This issue was found by the following Coccinelle semantic patch:

  <smpl>
  @@
  identifier f;
  constant C;
  typedef bool;
  @@
  bool f (...){
  <+...
  * return -C;
  ...+>
  }
  </smpl>

Signed-off-by: Peter Senna Tschudin <peter.senna@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@intel.com>
Cc: Matt Fleming <matt.fleming@intel.com>
Cc: Milos Vyletel <milos@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Steven Rostedt <rostedt@goodmis.org>
Link: http://lkml.kernel.org/r/1442484533-19742-1-git-send-email-peter.senna@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Peter Senna Tschudin 10 年之前
父节点
当前提交
bf6445631c
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      tools/perf/util/util.c

+ 1 - 1
tools/perf/util/util.c

@@ -709,7 +709,7 @@ bool find_process(const char *name)
 
 
 	dir = opendir(procfs__mountpoint());
 	dir = opendir(procfs__mountpoint());
 	if (!dir)
 	if (!dir)
-		return -1;
+		return false;
 
 
 	/* Walk through the directory. */
 	/* Walk through the directory. */
 	while (ret && (d = readdir(dir)) != NULL) {
 	while (ret && (d = readdir(dir)) != NULL) {