rendered paste body--- core/SftpFileSystem.cpp.old 2009-07-16 21:15:39.000000000 +0200
+++ core/SftpFileSystem.cpp 2009-07-16 21:43:34.000000000 +0200
@@ -134,6 +134,7 @@
#define SFTP_EXT_SPACE_AVAILABLE "space-available"
#define SFTP_EXT_CHECK_FILE "check-file"
#define SFTP_EXT_CHECK_FILE_NAME "check-file-name"
+#define SFTP_EXT_UTF8 "utf-8@fazekas.hu"
//---------------------------------------------------------------------------
#define OGQ_LIST_OWNERS 0x01
#define OGQ_LIST_GROUPS 0x02
@@ -2576,6 +2577,8 @@
FSupport->Loaded = false;
SAFE_DESTROY(FFixedPaths);
+ bool Utf8Hint = false;
+
if (FVersion >= 3)
{
while (Packet.GetNextData() != NULL)
@@ -2721,6 +2724,11 @@
(ExtensionData)));
}
}
+ else if (ExtensionName == SFTP_EXT_UTF8)
+ {
+ FTerminal->LogEvent("Server is using UTF-8 filenames");
+ Utf8Hint = true;
+ }
else
{
FTerminal->LogEvent(FORMAT("Unknown server extension %s=%s",
@@ -2765,7 +2773,7 @@
FUtfStrings =
(FTerminal->SessionData->Utf == asOff) ||
((FTerminal->SessionData->Utf == asAuto) &&
- (FVersion >= 4) && !FUtfNever);
+ ((FVersion >= 4) || Utf8Hint) && !FUtfNever);
if (FUtfStrings)
{