Blame 0038-network-factor-out-parse_ifname_opts-for-ifname-genr.patch

2d3fda9
From e7dc1e42cdf519c20c9f104153ef778462fcdbd9 Mon Sep 17 00:00:00 2001
2d3fda9
From: Harald Hoyer <harald@redhat.com>
2d3fda9
Date: Thu, 5 Jul 2012 12:54:13 +0200
2d3fda9
Subject: [PATCH] network: factor out parse_ifname_opts() for ifname-genrules
2d3fda9
2d3fda9
---
2d3fda9
 modules.d/40network/ifname-genrules.sh |    2 ++
2d3fda9
 modules.d/40network/net-lib.sh         |   16 ++++++++++++++++
2d3fda9
 modules.d/40network/parse-ifname.sh    |   16 +---------------
2d3fda9
 3 files changed, 19 insertions(+), 15 deletions(-)
2d3fda9
2d3fda9
diff --git a/modules.d/40network/ifname-genrules.sh b/modules.d/40network/ifname-genrules.sh
2d3fda9
index e188c88..b0b429c 100755
2d3fda9
--- a/modules.d/40network/ifname-genrules.sh
2d3fda9
+++ b/modules.d/40network/ifname-genrules.sh
2d3fda9
@@ -7,6 +7,8 @@ if ! getarg ifname= >/dev/null ; then
2d3fda9
     return
2d3fda9
 fi
2d3fda9
 
2d3fda9
+command -v parse_ifname_opts >/dev/null || . /lib/net-lib.sh
2d3fda9
+
2d3fda9
 {
2d3fda9
     for p in $(getargs ifname=); do
2d3fda9
         parse_ifname_opts $p
2d3fda9
diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
2d3fda9
index 9132e4d..9a1e004 100644
2d3fda9
--- a/modules.d/40network/net-lib.sh
2d3fda9
+++ b/modules.d/40network/net-lib.sh
2d3fda9
@@ -289,3 +289,19 @@ ip_to_var() {
2d3fda9
         esac
2d3fda9
     fi
2d3fda9
 }
2d3fda9
+
2d3fda9
+parse_ifname_opts() {
2d3fda9
+    local IFS=:
2d3fda9
+    set $1
2d3fda9
+
2d3fda9
+    case $# in
2d3fda9
+        7)
2d3fda9
+            ifname_if=$1
2d3fda9
+            # udev requires MAC addresses to be lower case
2d3fda9
+            ifname_mac=$(echo $2:$3:$4:$5:$6:$7 | sed 'y/ABCDEF/abcdef/')
2d3fda9
+            ;;
2d3fda9
+        *)
2d3fda9
+            die "Invalid arguments for ifname="
2d3fda9
+            ;;
2d3fda9
+    esac
2d3fda9
+}
2d3fda9
diff --git a/modules.d/40network/parse-ifname.sh b/modules.d/40network/parse-ifname.sh
2d3fda9
index ce73a72..d5156b3 100755
2d3fda9
--- a/modules.d/40network/parse-ifname.sh
2d3fda9
+++ b/modules.d/40network/parse-ifname.sh
2d3fda9
@@ -18,21 +18,7 @@ if ! getarg ifname= >/dev/null ; then
2d3fda9
     return
2d3fda9
 fi
2d3fda9
 
2d3fda9
-parse_ifname_opts() {
2d3fda9
-    local IFS=:
2d3fda9
-    set $1
2d3fda9
-
2d3fda9
-    case $# in
2d3fda9
-        7)
2d3fda9
-            ifname_if=$1
2d3fda9
-            # udev requires MAC addresses to be lower case
2d3fda9
-            ifname_mac=$(echo $2:$3:$4:$5:$6:$7 | sed 'y/ABCDEF/abcdef/')
2d3fda9
-            ;;
2d3fda9
-        *)
2d3fda9
-            die "Invalid arguments for ifname="
2d3fda9
-            ;;
2d3fda9
-    esac
2d3fda9
-}
2d3fda9
+command -v parse_ifname_opts >/dev/null || . /lib/net-lib.sh
2d3fda9
 
2d3fda9
 # Check ifname= lines
2d3fda9
 for p in $(getargs ifname=); do