ssoma: cleanup IMAP password warnings
authorEric Wong <e@80x24.org>
Mon, 5 May 2014 20:21:13 +0000 (20:21 +0000)
committerEric Wong <e@80x24.org>
Mon, 5 May 2014 20:55:37 +0000 (20:55 +0000)
password may be an empty string, so we must check length.

ssoma

diff --git a/ssoma b/ssoma
index edabe5cfdc4ba1d981e29ac8fb80816dc3d408d4..a3b037420db4e834e7a90e01407cfa58f135d569 100755 (executable)
--- a/ssoma
+++ b/ssoma
@@ -161,14 +161,14 @@ sub cmd_add {
 
                defined(my $user = $u->user) or die "no user in $dest\n";;
                x(qw/git config imap.user/, $user);
-               my $p = $u->password;
-               warn_imap_pass($ENV{GIT_CONFIG}) if (defined $p);
 
                my $path = $u->path;
                defined $path or $path = "INBOX";
                $path =~ s!\A/!!; # no leading slash
                x(qw/git config imap.folder/, $path);
 
+               warn_imap_pass($u->password, $ENV{GIT_CONFIG});
+
                # this only needs to be set for Extractor to follow
                local $ENV{GIT_CONFIG} = $state;
                x(qw/git config/, "target.$target.imap", "true");
@@ -266,10 +266,15 @@ sub x {
 }
 
 sub warn_imap_pass {
-       my ($file) = @_;
-       print STDERR <<EOF
+       my ($pass, $file) = @_;
+
+       if (defined $pass && length $pass) {
+               print STDERR <<EOF
 ignoring IMAP password given on command-line
-ensure $file is not world-readable before editing
+EOF
+       }
+       print STDERR <<EOF
+ensure $file is not world-readable if editing
 $file to set imap.pass
 EOF
 }