diff --git a/util.c b/util.c index b4d6eefbd2..3fe59c8ebb 100644 --- a/util.c +++ b/util.c @@ -42,6 +42,19 @@ #include "log.h" #include "strv.h" +bool streq_ptr(const char *a, const char *b) { + + /* Like streq(), but tries to make sense of NULL pointers */ + + if (a && b) + return streq(a, b); + + if (!a && !b) + return true; + + return false; +} + usec_t now(clockid_t clock_id) { struct timespec ts; diff --git a/util.h b/util.h index 30a0616d54..4881c981b9 100644 --- a/util.h +++ b/util.h @@ -51,6 +51,8 @@ struct timeval *timeval_store(struct timeval *tv, usec_t u); #define streq(a,b) (strcmp((a),(b)) == 0) +bool streq_ptr(const char *a, const char *b); + #define new(t, n) ((t*) malloc(sizeof(t)*(n))) #define new0(t, n) ((t*) calloc((n), sizeof(t)))