Here is another small diff that tidys somemore of adduser.
The @message_buffer array is cleared in message_read(), so no
need to clear it just before calling message_read().
Also, make the first call to filetest() display an error message
if a problem is found but not the following ones.
While in message_read and filetest, use my instead of local, and
rename $verbose to $myverbose, to indicate scope more easily (there
is also a global $verbose variable).
Also, move a comment to a more appropriate place.
ok?
-mark
Index: adduser.perl
===================================================================
RCS file: /cvs/src/usr.sbin/adduser/adduser.perl,v
retrieving revision 1.57
diff -u -p -r1.57 adduser.perl
--- adduser.perl 12 May 2011 13:56:23 -0000 1.57
+++ adduser.perl 18 May 2011 07:22:06 -0000
@@ -73,6 +73,7 @@ exit(!&batch(@batch)) if $#batch >= 0; #
# Set adduser "default" variables internally before groking config file
# Adduser.conf supersedes these
sub variables {
+ # global variables
$verbose = 1; # verbose = [0-2]
$defaultpasswd = "yes"; # use password for new users
$dotdir = "/etc/skel"; # copy dotfiles from this dir
@@ -107,7 +108,6 @@ sub variables {
$uid_start = 1000; # new users get this uid
$uid_end = 2147483647; # max. uid
- # global variables
# passwd
%username = (); # $username{username} = uid
%uid = (); # $uid{uid} = username
@@ -686,7 +686,6 @@ sub new_users_sendmessage {
return 1 if !&confirm_yn("Send welcome message to ``$name''", "yes");
- @message_buffer = ();
message_read ($message_file);
local($e);
@@ -1077,14 +1076,14 @@ sub dirname {
# return 1 if $file is a readable file or link
sub filetest {
- local($file, $verbose) = @_;
+ my($file, $myverbose) = @_;
if (-e $file) {
if (-f $file || -l $file) {
return 1 if -r _;
- warn "$file unreadable\n" if $verbose;
+ warn "$file unreadable\n" if $myverbose;
} else {
- warn "$file is not a plain file or link\n" if $verbose;
+ warn "$file is not a plain file or link\n" if $myverbose;
}
}
return 0;
@@ -1386,7 +1385,7 @@ sub message_default {
}
# try and create the message file
- if (&filetest($message_file, 0)) {
+ if (&filetest($message_file, 1)) {
if (&confirm_yn("File ``$message_file'' exists. Overwrite?:",
"no")) {
print "Retry: choose a different location\n";
@@ -1451,7 +1450,7 @@ EOF
# read message file into buffer
sub message_read {
- local($file) = @_;
+ my($file) = @_;
@message_buffer = ();
if (!open(R, "$file")) {