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")) {

Reply via email to