Opened 3 weeks ago

Last modified 3 weeks ago

#13099 new Bug report

3.67.0 fails to build on Windows

Reported by: lazka Owned by:
Priority: normal Component: FileZilla Client
Keywords: Cc:
Component version: Operating system type: Windows
Operating system version:

Description

With GCC:

  ../../../FileZilla-3.67.0/src/interface/verifyhostkeydialog.cpp: In static member function 'static void CVerifyHostkeyDialog::ShowVerificationDialog(wxWindow*, CHostKeyNotification&)':
  ../../../FileZilla-3.67.0/src/interface/verifyhostkeydialog.cpp:63:88: error: operands to '?:' have different types 'const wxString' and 'std::wstring' {aka 'std::__cxx11::basic_string<wchar_t>'}
     63 |         inner->Add(new wxStaticText(box, nullID, notification.hostKeyAlgorithm.empty() ? _("Unknown") : LabelEscape(notification.hostKeyAlgorithm)));
        |                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ../../../FileZilla-3.67.0/src/interface/verifyhostkeydialog.cpp:63:88: note:   and each type can be converted to the other

With Clang:

../../../FileZilla-3.67.0/src/interface/verifyhostkeydialog.cpp:63:81: error: conditional expression is ambiguous; 'const wxString' can be converted to 'std::wstring' (aka 'basic_string<wchar_t>') and vice versa
  63 |         inner->Add(new wxStaticText(box, nullID, notification.hostKeyAlgorithm.empty() ? _("Unknown") : LabelEscape(notification.hostKeyAlgorithm)));
     |                                                                                        ^ ~~~~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Change History (1)

comment:1 by lazka, 3 weeks ago

This seems to make it build:

  • src/interface/sftp_crypt_info_dlg.cpp

    diff -Nur filezilla-3.67.0-orig/src/interface/sftp_crypt_info_dlg.cpp filezilla-3.67.0/src/interface/sftp_crypt_info_dlg.cpp
    old new  
    2828    {
    2929        auto [box, inner] = lay.createStatBox(main, _("Server host key"), 2);
    3030        inner->Add(new wxStaticText(box, nullID, _("Algorithm:")));
    31         inner->Add(new wxStaticText(box, nullID, pNotification->hostKeyAlgorithm.empty() ? _("Unknown") : LabelEscape(pNotification->hostKeyAlgorithm)));
     31        inner->Add(new wxStaticText(box, nullID, pNotification->hostKeyAlgorithm.empty() ? std::wstring(_("Unknown")) : LabelEscape(pNotification->hostKeyAlgorithm)));
    3232        inner->Add(new wxStaticText(box, nullID, _("Fingerprints:")));
    3333        inner->Add(new wxStaticText(box, nullID, LabelEscape(pNotification->hostKeyFingerprint)));
    3434    }
  • src/interface/verifyhostkeydialog.cpp

    diff -Nur filezilla-3.67.0-orig/src/interface/verifyhostkeydialog.cpp filezilla-3.67.0/src/interface/verifyhostkeydialog.cpp
    old new  
    6060    inner->Add(new wxStaticText(box, nullID, _("Host:")));
    6161    inner->Add(new wxStaticText(box, nullID, LabelEscape(host)));
    6262    inner->Add(new wxStaticText(box, nullID, _("Hostkey algorithm:")));
    63     inner->Add(new wxStaticText(box, nullID, notification.hostKeyAlgorithm.empty() ? _("Unknown") : LabelEscape(notification.hostKeyAlgorithm)));
     63    inner->Add(new wxStaticText(box, nullID, notification.hostKeyAlgorithm.empty() ? std::wstring(_("Unknown")) : LabelEscape(notification.hostKeyAlgorithm)));
    6464    inner->Add(new wxStaticText(box, nullID, _("Fingerprints:")));
    6565    inner->Add(new wxStaticText(box, nullID, LabelEscape(notification.hostKeyFingerprint)));
    6666
Note: See TracTickets for help on using tickets.