Improve diagnosis if caff can't read answers from STDIN
authorweasel <weasel@b513b33f-fedd-0310-b452-c3deb5f4c849>
Thu, 28 Jul 2005 11:18:55 +0000 (11:18 +0000)
committerweasel <weasel@b513b33f-fedd-0310-b452-c3deb5f4c849>
Thu, 28 Jul 2005 11:18:55 +0000 (11:18 +0000)
git-svn-id: svn://svn.debian.org/pgp-tools/trunk@154 b513b33f-fedd-0310-b452-c3deb5f4c849

caff/caff
debian/changelog

index 302bf60c8dbcccd10696f39d8a59ced03b81dacd..866af1919956fc271ddb86dc45418e4089aaef92 100755 (executable)
--- a/caff/caff
+++ b/caff/caff
@@ -448,8 +448,9 @@ sub readwrite_gpg($$$$$%) {
 sub ask($$;$$) {
        my ($question, $default, $forceyes, $forceno) = @_;
        my $answer;
+       my $yn = $default ? '[Y/n]' : '[y/N]';
        while (1) {
-               print $question,' ',($default ? '[Y/n]' : '[y/N]'), ' ';
+               print $question,' ',$yn, ' ';
                if ($forceyes && $forceno) {
                        print "$default (from config/command line)\n";
                        return $default;
@@ -464,9 +465,17 @@ sub ask($$;$$) {
                };
 
                $answer = <STDIN>;
+               if (!defined $answer) {
+                       $OUTPUT_AUTOFLUSH = 1;
+                       die "\n\n".
+                           "End of STDIN reached.  Are you using xargs?  Caff wants to read from STDIN,\n".
+                           "so you can't really use it with xargs.  A patch against caff to read from\n".
+                           "the terminal would be apprechiated.\n".
+                           "For now instead of   cat keys | xargs caff  do  caff `cat keys`\n";
+               };
                chomp $answer;
-               last if ((defined $answer) && (length $answer <= 1));
-               print "grrrrrr.\n";
+               last if ((length $answer == 0) || ($answer =~ m/^[yYnN]$/) );
+               print "What about $yn is so hard to understand?\nAnswer with either 'n' or 'y' or just press enter for the default.\n";
                sleep 1;
        };
        my $result = $default;
index 3f0af19792edb59dc8f815463b2c05b37c73775a..8e81895b4fd6f594b68edac8ea5ce39d6fc07894 100644 (file)
@@ -15,10 +15,12 @@ signing-party (0.4.1-1) unstable; urgency=low
      + create unique attachment filenames, thanks Robin H. Johnson
        (Closes: #318469).
      + let caff import keys from file, thanks Jon Åslund (Closes: #318744).
+     + Improve diagnosis if caff can't read answers from STDIN, like
+       when people use xargs  (Closes: #319519).
   * Depend on libtext-template-perl as caff needs it.
   * Update to Standards-Version 3.6.2, no changes necessary.
 
- -- Peter Palfrader <weasel@debian.org>  Wed, 29 Jun 2005 16:36:08 +0200
+ -- Peter Palfrader <weasel@debian.org>  Thu, 28 Jul 2005 13:17:39 +0200
 
 signing-party (0.4.0-1) unstable; urgency=low