From ed0c47ca12c95cd36b8610a0944a841424308770 Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Mon, 19 Nov 2012 16:22:00 +0300 Subject: [PATCH] sval: add sval_is_negative()/positive() This seems like a commonly used check. Signed-off-by: Dan Carpenter --- smatch.h | 2 ++ smatch_sval.c | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/smatch.h b/smatch.h index f4a94d15..5d00266b 100644 --- a/smatch.h +++ b/smatch.h @@ -523,6 +523,8 @@ int sval_signed(sval_t sval); int sval_bits(sval_t sval); int sval_positive_bits(sval_t sval); int sval_bits_used(sval_t sval); +int sval_is_negative(sval_t sval); +int sval_is_positive(sval_t sval); int sval_is_min(sval_t sval); int sval_is_max(sval_t sval); int sval_is_a_min(sval_t sval); diff --git a/smatch_sval.c b/smatch_sval.c index 61a3e1e8..d91d426a 100644 --- a/smatch_sval.c +++ b/smatch_sval.c @@ -109,6 +109,18 @@ int sval_bits_used(sval_t sval) return 0; } +int sval_is_negative(sval_t sval) +{ + if (sval_cmp_val(sval, 0) < 0) + return 1; + return 0; +} + +int sval_is_positive(sval_t sval) +{ + return !sval_is_negative(sval); +} + int sval_is_min(sval_t sval) { sval_t min = sval_type_min(sval.type); -- 2.11.4.GIT