Module Name:    src
Committed By:   christos
Date:           Tue May 28 16:20:34 UTC 2024

Modified Files:
        src/lib: checkoldver

Log Message:
handle library names that contain a period.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/lib/checkoldver

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

Modified files:

Index: src/lib/checkoldver
diff -u src/lib/checkoldver:1.3 src/lib/checkoldver:1.4
--- src/lib/checkoldver:1.3	Wed Apr 30 09:10:50 2008
+++ src/lib/checkoldver	Tue May 28 12:20:34 2024
@@ -1,5 +1,5 @@
 #!/bin/sh
-#	$NetBSD: checkoldver,v 1.3 2008/04/30 13:10:50 martin Exp $
+#	$NetBSD: checkoldver,v 1.4 2024/05/28 16:20:34 christos Exp $
 #
 # Copyright (c) 2002 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -51,33 +51,31 @@ delete() {
 }
 
 comparelib() {
+	local name="${1%.so.*}"
+	local version=${1#*.so.}
 	OIFS="$IFS"
 	IFS="$IFS."
-	set -- $1
+	set -- $version
 	IFS="$OIFS"
-	if [ "$3" = "[0-9]*" ]
-	then
-		return
-	fi
 
 	if [ -z "$libmajor" ]
 	then
-		libname="$1"
-		libmajor="$3"
-		libminor="$4"
-		libtiny="$5"
+		libname="$name"
+		libmajor="$1"
+		libminor="$2"
+		libtiny="$3"
 		return
 	fi
-	if [ "$libmajor" -lt "$3" ]
+	if [ "$libmajor" -lt "$1" ]
 	then
 		delete "$libname" "$libmajor" "$libminor" "$libtiny"
-		libmajor="$3"
-		libminor="$4"
-		libtiny="$5"
+		libmajor="$1"
+		libminor="$2"
+		libtiny="$3"
 		return
-	elif [ "$3" -lt "$libmajor" ]
+	elif [ "$1" -lt "$libmajor" ]
 	then
-		delete "$libname" "$3" "$4" "$5"
+		delete "$libname" "$1" "$2" "$3"
 		return
 	fi
 
@@ -85,16 +83,16 @@ comparelib() {
 	then
 		return
 	fi
-	if [ "$libminor" -lt "$4" ]
+	if [ "$libminor" -lt "$2" ]
 	then
 		delete "$libname" "$libmajor" "$libminor" "$libtiny"
-		libmajor="$3"
-		libminor="$4"
-		libtiny="$5"
+		libmajor="$1"
+		libminor="$2"
+		libtiny="$3"
 		return
-	elif [ "$4" -lt "$libminor" ]
+	elif [ "$2" -lt "$libminor" ]
 	then
-		delete "$libname" "$3" "$4" "$5"
+		delete "$libname" "$1" "$2" "$3"
 		return
 	fi
 
@@ -102,16 +100,16 @@ comparelib() {
 	then
 		return
 	fi
-	if [ "$libtiny" -lt "$5" ]
+	if [ "$libtiny" -lt "$3" ]
 	then
 		delete "$libname" "$libmajor" "$libminor" "$libtiny"
-		libmajor="$3"
-		libminor="$4"
-		libtiny="$5"
+		libmajor="$1"
+		libminor="$2"
+		libtiny="$3"
 		return
 	elif [ "$5" -lt "$libminor" ]
 	then
-		delete "$libname" "$3" "$4" "$5"
+		delete "$libname" "$1" "$2" "$3"
 		return
 	fi
 }

Reply via email to