From bf101ce4e9b50cc662181def7a6e8936d576f82b Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Tue, 24 Jul 2018 14:54:24 +0300 Subject: [PATCH] sval: introduce sval_is_ptr() Signed-off-by: Dan Carpenter --- smatch.h | 1 + smatch_sval.c | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/smatch.h b/smatch.h index c57d0f35..b1c48a14 100644 --- a/smatch.h +++ b/smatch.h @@ -999,6 +999,7 @@ sval_t *sval_alloc_permanent(sval_t sval); sval_t sval_blank(struct expression *expr); sval_t sval_type_val(struct symbol *type, long long val); sval_t sval_from_val(struct expression *expr, long long val); +int sval_is_ptr(sval_t sval); int sval_unsigned(sval_t sval); int sval_signed(sval_t sval); int sval_bits(sval_t sval); diff --git a/smatch_sval.c b/smatch_sval.c index 667c8fa3..4d7386d2 100644 --- a/smatch_sval.c +++ b/smatch_sval.c @@ -85,6 +85,13 @@ sval_t sval_from_val(struct expression *expr, long long val) return ret; } +int sval_is_ptr(sval_t sval) +{ + if (!sval.type) + return 0; + return (sval.type->type == SYM_PTR || sval.type->type == SYM_ARRAY); +} + int sval_unsigned(sval_t sval) { return type_unsigned(sval.type); -- 2.11.4.GIT