Sure.
I'm not sure about the right prompting policies.
But your solution would still make the prompt invisible.

Thanks for your quick answer, anyway.

Cheers,
Gilles.

Le 2/23/2011 10:23 AM, Giuseppe Scrivano a écrit :
Hello Gilles,

thanks for your patch.  I am not sure it is a good idea to use stderr
to prompt a message to the user.  I would just inhibit the message when
-O- is used.

Cheers,
Giuseppe



Gilles Carry<[email protected]>  writes:

Hello,

Here is a small patch to change the ask-password behaviour.
You may find the explanation in patch's changelog.
I confess I did not test much this patch.

Best regards,
Thank-you,
Gilles.

diff --git a/src/ChangeLog b/src/ChangeLog
index f37814d..b9bf2d7 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,13 @@
+2011-02-22  Gilles Carry<gilles dot carry at st dot com>
+
+       * main.c (prompt_for_password): Use stderr instead of stdout
+       to prompt password. This allows to use --output-document=- and
+       --ask-password simultaneously. Without this, redirecting stdout
+       makes password prompt invisible and mucks up payload such as in
+       this example:
+       wget --output-document=- --ask-password -user=foo \
+               http://foo.com/tarball.tgz | tar zxf -
+
  2009-09-22  Micah Cowan<[email protected]>

        * openssl.c (ssl_check_certificate): Avoid reusing the same buffer
diff --git a/src/main.c b/src/main.c
index dddc4b2..db1638f 100644
--- a/src/main.c
+++ b/src/main.c
@@ -725,9 +725,9 @@ static char *
  prompt_for_password (void)
  {
    if (opt.user)
-    printf (_("Password for user %s: "), quote (opt.user));
+    fprintf (stderr, _("Password for user %s: "), quote (opt.user));
    else
-    printf (_("Password: "));
+    fprintf (stderr, _("Password: "));
    return getpass("");
  }



Reply via email to