libpurple/ft.c

changeset 29156
816cd92683eb
parent 29155
365ee5da3b06
child 29157
e3a6a5cae73b
--- a/libpurple/ft.c	Wed Dec 23 05:15:17 2009 +0000
+++ b/libpurple/ft.c	Wed Dec 23 05:50:48 2009 +0000
@@ -328,6 +328,23 @@
 		g_free(msg);
 		purple_xfer_request_denied(xfer);
 	}
+	else if (type == PURPLE_XFER_SEND) {
+#ifndef _WIN32
+		int mode = R_OK;
+#else
+		int mode = F_OK;
+#endif
+
+		if (g_access(filename, mode) == 0) {
+			purple_xfer_request_accepted(xfer, filename);
+		} else {
+			purple_xfer_ref(xfer);
+			purple_notify_message(
+				NULL, PURPLE_NOTIFY_MSG_ERROR, NULL,
+				_("File is not readable."), NULL,
+				(PurpleNotifyCloseCallback)purple_xfer_choose_file, xfer);
+		}
+	}
 	else {
 		purple_xfer_request_accepted(xfer, filename);
 	}

mercurial