Module Name:    src
Committed By:   mlelstv
Date:           Sun Mar  1 14:21:17 UTC 2015

Modified Files:
        src/sbin/devpubd/hooks: 02-wedgenames

Log Message:
safely update existing wedge links


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sbin/devpubd/hooks/02-wedgenames

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sbin/devpubd/hooks/02-wedgenames
diff -u src/sbin/devpubd/hooks/02-wedgenames:1.2 src/sbin/devpubd/hooks/02-wedgenames:1.3
--- src/sbin/devpubd/hooks/02-wedgenames:1.2	Sun Feb 15 15:56:30 2015
+++ src/sbin/devpubd/hooks/02-wedgenames	Sun Mar  1 14:21:17 2015
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $NetBSD: 02-wedgenames,v 1.2 2015/02/15 15:56:30 jmcneill Exp $
+# $NetBSD: 02-wedgenames,v 1.3 2015/03/01 14:21:17 mlelstv Exp $
 #
 # Try to maintain symlinks to wedge devices
 #
@@ -52,7 +52,14 @@ add_wedge() {
 		test -d $wedgedir || mkdir -m 755 $wedgedir
 		basedir=$(dirname "$wedgedir/$n")
 		test -d "$basedir" || mkdir -p -m 755 "$basedir"
-		ln -s "/dev/$1" "$wedgedir/$n"
+		if oldlink=$(readlink "$wedgedir/$n"); then
+			if [ x"$oldlink" != "/dev/$1" ]; then
+				rm -f "$wedgedir/$n"
+				ln -s "/dev/$1" "$wedgedir/$n"
+			fi
+		else
+			ln -s "/dev/$1" "$wedgedir/$n"
+		fi
 		;;
 	esac
 }

Reply via email to