assigned_expression: get the assigned expression using the name and sym
authorDan Carpenter <dan.carpenter@oracle.com>
Thu, 12 Jun 2014 15:21:36 +0000 (12 18:21 +0300)
committerDan Carpenter <dan.carpenter@oracle.com>
Thu, 12 Jun 2014 15:21:36 +0000 (12 18:21 +0300)
Normally we would want to get the assignment using and expression but there
are sometimes where we only have the name and sym.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
check_assigned_expr.c
smatch.h

index 8e96514..1f3c527 100644 (file)
@@ -37,6 +37,16 @@ struct expression *get_assigned_expr(struct expression *expr)
        return (struct expression *)state->data;
 }
 
+struct expression *get_assigned_expr_name_sym(const char *name, struct symbol *sym)
+{
+       struct smatch_state *state;
+
+       state = get_state(my_id, name, sym);
+       if (!state)
+               return NULL;
+       return (struct expression *)state->data;
+}
+
 static struct smatch_state *alloc_my_state(struct expression *expr)
 {
        struct smatch_state *state;
index c443f10..a7a0d08 100644 (file)
--- a/smatch.h
+++ b/smatch.h
@@ -677,6 +677,7 @@ void print_held_locks();
 
 /* check_assigned_expr.c */
 struct expression *get_assigned_expr(struct expression *expr);
+struct expression *get_assigned_expr_name_sym(const char *name, struct symbol *sym);
 
 /* smatch_comparison.c */
 int get_comparison(struct expression *left, struct expression *right);