summaryrefslogtreecommitdiff
path: root/devel/gnomevfs2/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);