#!@PERL@ -w
# BEGIN BPS TAGGED BLOCK {{{
-#
+#
# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
-# <jesse@bestpractical.com>
-#
+#
+# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
+# <sales@bestpractical.com>
+#
# (Except where explicitly superseded by other copyright notices)
-#
-#
+#
+#
# LICENSE:
-#
+#
# This work is made available to you under the terms of Version 2 of
# the GNU General Public License. A copy of that license should have
# been provided with this software, but in any event can be snarfed
# from www.gnu.org.
-#
+#
# This work is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
-#
+#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301 or visit their web page on the internet at
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-#
-#
+#
+#
# CONTRIBUTION SUBMISSION POLICY:
-#
+#
# (The following paragraph is not intended to limit the rights granted
# to you to modify and distribute this software under the terms of
# the GNU General Public License and is only of importance to you if
# you choose to contribute your changes and enhancements to the
# community by submitting them to Best Practical Solutions, LLC.)
-#
+#
# By intentionally submitting any modifications, corrections or
# derivatives to this work, or any other work intended for use with
# Request Tracker, to Best Practical Solutions, LLC, you confirm that
# royalty-free, perpetual, license to use, copy, create derivative
# works based on those contributions, and sublicense and distribute
# those contributions and any derivatives thereof.
-#
+#
# END BPS TAGGED BLOCK }}}
# Designed and implemented for Best Practical Solutions, LLC by
# Abhijit Menon-Sen <ams@wiw.org>
$file ||= $self->{file};
local *F;
- open(F, $file) && do {
+ open(F, '<', $file) && do {
$self->{file} = $file;
my $sids = $self->{sids} = {};
while (<F>) {
$file ||= $self->{file};
local *F;
- open(F, ">$file") && do {
+ open(F, '>', $file) && do {
my $sids = $self->{sids};
foreach my $server (keys %$sids) {
foreach my $user (keys %{ $sids->{$server} }) {
$line .= ",\n$sp$v";
}
else {
- $line = $line ? "$line, $v" : "$key: $v";
+ $line = $line ? "$line,$v" : "$key: $v";
}
}
}
# Still nothing? We'll fall back to some likely defaults.
- for ("$HOME/$rc", "/etc/rt.conf") {
+ for ("$HOME/$rc", "@LOCAL_ETC_PATH@/rt.conf", "/etc/rt.conf") {
return parse_config_file($_) if (-r $_);
}
}
my ($file) = @_;
local $_; # $_ may be aliased to a constant, from line 1163
- open(CFG, $file) && do {
+ open(CFG, '<', $file) && do {
while (<CFG>) {
chomp;
next if (/^#/ || /^\s*$/);
local *F;
local $/ = undef;
- open(F, ">$file") || die "$file: $!\n"; print F $text; close(F);
+ open(F, '>', $file) or die "$file: $!\n"; print F $text; close(F);
system($editor, $file) && die "Couldn't run $editor.\n";
- open(F, $file) || die "$file: $!\n"; $text = <F>; close(F);
+ open(F, '<', $file) or die "$file: $!\n"; $text = <F>; close(F);
unlink($file);
return $text;
# XXX: This should become a real parser, à la Text::ParseWords.
$line =~ s/^\s+//;
$line =~ s/\s+$//;
- my ( $a, $b ) = split /,/, $line, 2;
+ my ( $a, $b ) = split /\s*,\s*/, $line, 2;
while ($a) {
no warnings 'uninitialized';
my $s = $a;
while ( $a !~ /'$/ || ( $a !~ /(\\\\)+'$/
&& $a =~ /(\\)+'$/ )) {
- ( $a, $b ) = split /,/, $b, 2;
+ ( $a, $b ) = split /\s*,\s*/, $b, 2;
$s .= ',' . $a;
}
push @words, $s;
my $s = $a;
while ( $a !~ /}$/ ) {
( $a, $b ) =
- split /,/, $b, 2;
+ split /\s*,\s*/, $b, 2;
$s .= ',' . $a;
}
$s =~ s/^q{/'/;
else {
push @words, $a;
}
- ( $a, $b ) = split /,/, $b, 2;
+ ( $a, $b ) = split /\s*,\s*/, $b, 2;
}
my ($list) = @_;
my @elts;
- foreach (split /,/, $list) {
+ foreach (split /\s*,\s*/, $list) {
push @elts, /^(\d+)-(\d+)$/? ($1..$2): $_;
}
The program looks for configuration directives in a file named .rtrc
(or $RTCONFIG; see below) in the current directory, and then in more
distant ancestors, until it reaches /. If no suitable configuration
- files are found, it will also check for ~/.rtrc and /etc/rt.conf.
+ files are found, it will also check for ~/.rtrc, @LOCAL_ETC_PATH@/rt.conf
+ and /etc/rt.conf.
Configuration directives: