summaryrefslogtreecommitdiff
path: root/sys/kern
diff options
context:
space:
mode:
authorMark Murray <markm@FreeBSD.org>1999-05-02 08:55:27 +0000
committerMark Murray <markm@FreeBSD.org>1999-05-02 08:55:27 +0000
commita8af2bd86b01e22a0595dec1b5973202f668de61 (patch)
treef22b53ba999410b61edc917af6ecde9c828ed1e7 /sys/kern
parent3de29bbf70d141b70551340fa595664cf81e4630 (diff)
Notes
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/makedevops.pl32
1 files changed, 30 insertions, 2 deletions
diff --git a/sys/kern/makedevops.pl b/sys/kern/makedevops.pl
index ce428e5e372a..8b991b7984b8 100644
--- a/sys/kern/makedevops.pl
+++ b/sys/kern/makedevops.pl
@@ -34,6 +34,8 @@
# From @(#)vnode_if.sh 8.1 (Berkeley) 6/10/93
# From @(#)makedevops.sh 1.1 1998/06/14 13:53:12 dfr Exp $
# From @(#)makedevops.sh ?.? 1998/10/05
+#
+# $Id$
#
# Script to produce device front-end sugar.
@@ -47,8 +49,6 @@ $keepcurrentdir = 1;
$line_width = 80;
-use File::Basename;
-
# Process the command line
#
while ( $arg = shift @ARGV ) {
@@ -395,3 +395,31 @@ sub format_line {
return $rline . $line;
}
+
+# This routine is a crude replacement for one in File::Basename. We
+# cannot use any library code because it fouls up the Perl bootstrap
+# when we update a perl version. MarkM
+
+sub fileparse {
+ my ($filename, @suffix) = @_;
+ my ($dir, $name, $type, $i);
+
+ $type = '';
+ foreach $i (@suffix) {
+ if ($filename =~ m|$i$|) {
+ $filename =~ s|$i$||;
+ $type = $i;
+ }
+ }
+ if ($filename =~ m|/|) {
+ $filename =~ m|([^/]*)$|;
+ $name = $1;
+ $dir = $filename;
+ $dir =~ s|$name$||;
+ }
+ else {
+ $dir = '';
+ $name = $filename;
+ }
+ ($name, $dir, $type);
+}