Re: [PATCH] internal: Use g_strcmp0 in STR(N)EQ_NULLABLE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/24/19 10:31 AM, Peter Krempa wrote:
On Thu, Oct 24, 2019 at 16:22:09 +0200, Pavel Hrdina wrote:
On Thu, Oct 24, 2019 at 04:12:00PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx>
---
  src/internal.h | 6 ++----
  1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/internal.h b/src/internal.h
index 5b0a2335f5..0ff9f496ac 100644
--- a/src/internal.h
+++ b/src/internal.h
@@ -86,10 +86,8 @@
  #define STRCASEPREFIX(a, b) (c_strncasecmp(a, b, strlen(b)) == 0)
  #define STRSKIP(a, b) (STRPREFIX(a, b) ? (a) + strlen(b) : NULL)

-#define STREQ_NULLABLE(a, b) \
-    ((a) ? (b) && STREQ((a), (b)) : !(b))
-#define STRNEQ_NULLABLE(a, b) \
-    ((a) ? !(b) || STRNEQ((a), (b)) : !!(b))
+#define STREQ_NULLABLE(a, b) (g_strcmp0(a, b) == 0)
+#define STRNEQ_NULLABLE(a, b) (g_strcmp0(a, b) != 0)
Why not use g_strcmp0 directly?
Because I don't really care about replacing everyting.


Yeah, on one hand using the glib functions directly might make it easier for someone familiar with glib to understand the code when just glancing at it. On the other hand, replacing all these macros with direct calls to glib seems like it's undoing a lot of work, and creating code-churn/obscuring true "git blame", and will just need to be done again in 2029 when glib is no longer the flavor of the day, and we want to convert everything to use "hlib" or "ilib" (or maybe by then it will be "postapocalypticlib" - think about it, having all our code sprinkled with postapocalyptic_dystopian_strcmp0() will be *so* future proof!)


(The preceding paragraph was only half sarcastic, same for this sentence.)



--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list


--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list





[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux