summaryrefslogtreecommitdiffstats
path: root/devel/gnome-vfs/files/patch-modules_sftp-method.c
blob: bd08ae0b45f1ba2a818d1bf62f7819988a46b397 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
--- modules/sftp-method.c.orig  Mon Mar  8 13:52:39 2004
+++ modules/sftp-method.c   Sun Apr  4 13:50:21 2004
@@ -175,6 +175,15 @@
 
 typedef ssize_t (*read_write_fn) (int, void *, size_t);
 
+#ifndef TEMP_FAILURE_RETRY
+#define TEMP_FAILURE_RETRY(expression)             \
+   (__extension__                      \
+    ({ long int __result;                  \
+       do __result = (long int) (expression);      \
+       while (__result == -1L && errno == EINTR);  \
+       __result; }))
+#endif
+
 static gsize
 atomic_io (read_write_fn f, gint fd, gpointer buffer_in, gsize size) 
 {
@@ -1072,6 +1081,7 @@
        if (io_status == G_IO_STATUS_NORMAL) {
            buffer[len] = 0;
            if (g_str_has_suffix (buffer, "password: ") ||
+               g_str_has_suffix (buffer, "Password:")  ||
                g_str_has_prefix (buffer, "Enter passphrase for key")) {
                if (invoke_full_auth (uri, done_auth, buffer, &password) && password != NULL) {
                    g_io_channel_write_chars (tty_channel, password, -1, &len, NULL);