mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2024-12-26 15:59:50 -05:00
Fix building on Mac OS X 10.11 or older
* Add a missing include in src/core/Alloc.cpp On Mac OS X 10.11 with Xcode 8.2.1, building fails with /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_security_KeePassXC/KeePassXC-devel/work/keepassxc-f726d7501ff7e8a66ae974719042f23010716595/src/core/Alloc.cpp:44:10: error: no type named 'free' in namespace 'std' std::free(ptr); ~~~~~^ Per [1], std::free() needs #include <cstdlib>. That file is included indirectly on newer systems. * Avoid const Signature object in src/keeshare/ShareExport.cpp After the above issue is resolved, building fails at /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_security_KeePassXC/KeePassXC-devel/work/keepassxc-f726d7501ff7e8a66ae974719042f23010716595/src/keeshare/ShareExport.cpp:152:29: error: default initialization of an object of const type 'const Signature' without a user-provided default constructor const Signature signer; ^ Apparently this is related to C++ defect 253 [2]. From the code, creating a Signature is not needed as all methods in Signature are static, so just call the method. [1] https://en.cppreference.com/w/cpp/memory/c/free [2] https://stackoverflow.com/a/47368753
This commit is contained in:
parent
99aafe657d
commit
7c6c027d33
@ -17,6 +17,7 @@
|
||||
|
||||
#include <QtGlobal>
|
||||
#include <cstdint>
|
||||
#include <cstdlib>
|
||||
#include <sodium.h>
|
||||
#if defined(Q_OS_MACOS)
|
||||
#include <malloc/malloc.h>
|
||||
|
@ -149,8 +149,7 @@ namespace
|
||||
KeeShareSettings::Sign sign;
|
||||
auto sshKey = own.key.sshKey();
|
||||
sshKey.openKey(QString());
|
||||
const Signature signer;
|
||||
sign.signature = signer.create(bytes, sshKey);
|
||||
sign.signature = Signature::create(bytes, sshKey);
|
||||
sign.certificate = own.certificate;
|
||||
stream << KeeShareSettings::Sign::serialize(sign);
|
||||
stream.flush();
|
||||
|
Loading…
Reference in New Issue
Block a user