param_(filter|limit|set): add some comments
authorDan Carpenter <dan.carpenter@oracle.com>
Wed, 6 Feb 2013 18:53:53 +0000 (6 21:53 +0300)
committerDan Carpenter <dan.carpenter@oracle.com>
Wed, 6 Feb 2013 18:53:53 +0000 (6 21:53 +0300)
Hopefully, this clarifies a little how these work together.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch_param_filter.c
smatch_param_limit.c
smatch_param_set.c

index d86d0cc..192d29f 100644 (file)
@@ -7,6 +7,20 @@
  *
  */
 
+/*
+ * This is for functions like:
+ *
+ * void foo(int *x)
+ * {
+ *     if (*x == 42)
+ *             *x = 0;
+ * }
+ *
+ * The final value of *x depends on the input to the function but with *x == 42
+ * filtered out.
+ *
+ */
+
 #include "smatch.h"
 #include "smatch_extra.h"
 #include "smatch_slist.h"
index 148a9b6..62a49d1 100644 (file)
@@ -7,6 +7,25 @@
  *
  */
 
+/*
+ * This is for functions like this:
+ *
+ * int foo(int a)
+ * {
+ *        if (a >= 0 && a < 10) {
+ *                 a = 42;
+ *                 return 1;
+ *        }
+ *        return 0;
+ * }
+ *
+ * If we pass in 5, it returns 1.
+ *
+ * It's a bit complicated because we can't just consider the final value, we
+ * have to always consider the passed in value.
+ *
+ */
+
 #include "scope.h"
 #include "smatch.h"
 #include "smatch_extra.h"
index 7bbc8d5..dd215eb 100644 (file)
@@ -7,6 +7,23 @@
  *
  */
 
+/*
+ * This is for functions like:
+ *
+ * int foo(int *x)
+ * {
+ *     if (*x == 42) {
+ *             *x = 0;
+ *             return 1;
+ *     }
+ *     return 0;
+ * }
+ *
+ * If we return 1 that means the value of *x has been set to 0.  If we return
+ * 0 then we have left *x alone.
+ *
+ */
+
 #include "scope.h"
 #include "smatch.h"
 #include "smatch_slist.h"