[PATCH 10/17] nss: remove use for virString helper APIs

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

 



Use the plain libc APIs to avoid a dependancy on the main libvirt
code from the nss module.

Signed-off-by: Daniel P. Berrangé <berrange@xxxxxxxxxx>
---
 tools/nss/libvirt_nss.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/tools/nss/libvirt_nss.c b/tools/nss/libvirt_nss.c
index f50dec48ba..d057827ebc 100644
--- a/tools/nss/libvirt_nss.c
+++ b/tools/nss/libvirt_nss.c
@@ -41,7 +41,6 @@
 #include "virfile.h"
 #include "virtime.h"
 #include "virerror.h"
-#include "virstring.h"
 #include "virsocketaddr.h"
 #include "configmake.h"
 #include "virmacmap.h"
@@ -193,13 +192,20 @@ findLeaseInJSON(leaseAddress **tmpAddress,
         }
 
         if (macs) {
+            const char **macstmp = macs;
             const char *macAddr;
+            bool match = false;
 
             macAddr = virJSONValueObjectGetString(lease, "mac-address");
             if (!macAddr)
                 continue;
 
-            if (!virStringListHasString(macs, macAddr))
+            while (*macstmp && !match) {
+                if (STREQ(*macstmp, macAddr))
+                    match = true;
+                macstmp++;
+            }
+            if (!match)
                 continue;
         } else {
             const char *lease_name;
@@ -295,8 +301,9 @@ findLease(const char *name,
     DEBUG("Dir: %s", leaseDir);
     while ((entry = readdir(dir)) != NULL) {
         char *path;
+        size_t dlen = strlen(entry->d_name);
 
-        if (virStringHasSuffix(entry->d_name, ".status")) {
+        if (dlen >= 7 && STREQ(entry->d_name + dlen - 7, ".status")) {
             if (!(path = virFileBuildPath(leaseDir, entry->d_name, NULL)))
                 goto cleanup;
 
@@ -307,7 +314,7 @@ findLease(const char *name,
                 goto cleanup;
             }
             VIR_FREE(path);
-        } else if (virStringHasSuffix(entry->d_name, ".macs")) {
+        } else if (dlen >= 5 && STREQ(entry->d_name + dlen - 5, ".macs")) {
             if (!(path = virFileBuildPath(leaseDir, entry->d_name, NULL)))
                 goto cleanup;
 
-- 
2.21.0

--
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