Setting tag pyplnet-4.3-20
[pyplnet.git] / sioc.py
diff --git a/sioc.py b/sioc.py
index d596f77..f887245 100644 (file)
--- a/sioc.py
+++ b/sioc.py
@@ -1,4 +1,3 @@
-# $Id$
 # vim:set ts=4 sw=4 expandtab:
 # (c) Copyright 2008 The Trustees of Princeton University
 
@@ -39,11 +38,13 @@ def gifconf():
                           stdin=subprocess.PIPE, stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE, close_fds=True)
     (stdout, stderr) = ip.communicate()
-    ip.wait()
+    # no wait is needed when using communicate
     for line in stdout.split("\n"):
-        if line.startswith("    inet "):
-            fields = line.split(" ")
-            ret[fields[-1]] = fields[5].split("/")[0]
+        fields = [ field.strip() for field in line.split() ]
+        if fields and fields[0] == "inet":
+            # fields[-1] is the last column in fields, which has the interface name
+            # fields[1] has the IP address / netmask width 
+            ret[fields[-1]] = fields[1].split("/")[0]
     return ret
 
 def gifhwaddr(interface):