summaryrefslogtreecommitdiff
path: root/bin/cle.pl
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2004-08-05 09:22:40 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2004-08-05 09:22:40 +0000
commit324abf12cb0ec39dcf87949d05e619657227d529 (patch)
tree52dd0988967a16539d24a1a00db70c3eba377a50 /bin/cle.pl
parentf63b701f10c60491741ce4f6d1d30f323413e35a (diff)
downloadATCD-324abf12cb0ec39dcf87949d05e619657227d529.tar.gz
ChangeLogTag: Thu Aug 5 09:21:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
Diffstat (limited to 'bin/cle.pl')
-rwxr-xr-xbin/cle.pl93
1 files changed, 68 insertions, 25 deletions
diff --git a/bin/cle.pl b/bin/cle.pl
index 4725794b25e..f72bf44674e 100755
--- a/bin/cle.pl
+++ b/bin/cle.pl
@@ -12,7 +12,12 @@ use strict;
use Cwd;
use File::Basename;
-unshift(@INC, getExecutePath($0) . '/ChangeLogEditor');
+if ( $^O eq 'VMS' ) {
+ require VMS::Filespec;
+ import VMS::Filespec qw(unixpath);
+}
+
+unshift(@INC, getExecutePath($0) . 'ChangeLogEditor');
require ChangeLogEdit;
require EmailTranslator;
@@ -25,14 +30,27 @@ sub which {
my($prog) = shift;
my($exec) = $prog;
my($part) = '';
- my($envSep) = ($^O eq 'MSWin32' ? ';' : ':');
-
- if (defined $ENV{'PATH'}) {
- foreach $part (split(/$envSep/, $ENV{'PATH'})) {
- $part .= "/$prog";
- if ( -x $part ) {
- $exec = $part;
- last;
+ if ( $^O eq 'VMS' ) {
+ my($envSep) = ';';
+ if (defined $ENV{'PATH'}) {
+ foreach $part (split(/$envSep/, $ENV{'PATH'})) {
+ $part .= "$prog";
+ if ( -x $part ) {
+ $exec = $part;
+ last;
+ }
+ }
+ }
+ }
+ else {
+ my($envSep) = ($^O eq 'MSWin32' ? ';' : ':');
+ if (defined $ENV{'PATH'}) {
+ foreach $part (split(/$envSep/, $ENV{'PATH'})) {
+ $part .= "/$prog";
+ if ( -x $part ) {
+ $exec = $part;
+ last;
+ }
}
}
}
@@ -45,27 +63,51 @@ sub getExecutePath {
my($prog) = shift;
my($loc) = '';
- if ($prog ne basename($prog)) {
- if ($prog =~ /^[\/\\]/ ||
- $prog =~ /^[A-Za-z]:[\/\\]?/) {
- $loc = dirname($prog);
+ if ( $^O eq 'VMS' ) {
+ if ($prog ne basename($prog)) {
+ my($dir) = unixpath( dirname($prog) );
+ if ($prog =~ /^[\/\\]/) {
+ $loc = $dir;
+ }
+ else {
+ $loc = unixpath(getcwd()) . $dir;
+ }
}
else {
- $loc = getcwd() . '/' . dirname($prog);
+ $loc = unixpath( dirname(which($prog)) );
}
- }
- else {
- $loc = dirname(which($prog));
- }
- if ($loc eq '.') {
- $loc = getcwd();
+ if ($loc eq '.') {
+ $loc = unixpath( getcwd() );
+ }
+ } else {
+ if ($prog ne basename($prog)) {
+ if ($prog =~ /^[\/\\]/ ||
+ $prog =~ /^[A-Za-z]:[\/\\]?/) {
+ $loc = dirname($prog);
+ }
+ else {
+ $loc = getcwd() . '/' . dirname($prog);
+ }
+ }
+ else {
+ $loc = dirname(which($prog));
+ }
+
+ $loc =~ s/\/\.$//;
+
+ if ($loc eq '.') {
+ $loc = getcwd();
+ }
+
+ if ($loc ne '') {
+ $loc .= '/';
+ }
}
return $loc;
}
-
sub getDefaultDomain {
my($domain) = undef;
my($host) = `hostname`;
@@ -97,10 +139,11 @@ sub getDefaultDomain {
if ($^O eq 'MSWin32') {
if (open($fh, 'ipconfig /all |')) {
while(<$fh>) {
- if (!defined $domain) {
- if (/DNS\s+Suffix[^:]+:\s+(.+)/) {
- $domain = $1;
- }
+ if (/Primary\s+DNS\s+Suffix[^:]+:\s+(.*)/) {
+ $domain = $1;
+ }
+ elsif (/DNS\s+Suffix\s+Search[^:]+:\s+(.*)/) {
+ $domain = $1;
}
}
close($fh);