SHA-2 code does not compile on FreeBSD

The code fails to compile with the below error:
qcryptographichash.cpp:55: error: conflicting declaration 'typedef quint64 uint64_t'
/usr/include/sys/types.h:99: error: 'uint64_t' has a previous declaration as 'typedef __uint64_t uint64_t'

FreeBSDs types.h defines the used defines. Maybe it would be less
ugly to switch the code to quint*, or use a define to do so, or to
have basic os detection for stdint.h, not to include sys/types.h.

Change-Id: Ic62ae4b742c1123b4b7e17158d216374e609f59f
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
This commit is contained in:
Holger Hans Peter Freyther 2012-02-29 01:01:01 +01:00 committed by Qt by Nokia
parent 221fe8776b
commit f885a526ac

View File

@ -52,9 +52,18 @@
from from stdint.h, but since this header is not available on all platforms
(MSVC 2008, for example), we need to define them ourselves.
*/
#ifndef _UINT64_T_DECLARED
typedef QT_PREPEND_NAMESPACE(quint64) uint64_t;
#endif
#ifndef _UINT32_T_DECLARED
typedef QT_PREPEND_NAMESPACE(quint32) uint32_t;
#endif
#ifndef _UINT8_T_DECLARED
typedef QT_PREPEND_NAMESPACE(quint8) uint8_t;
#endif
typedef QT_PREPEND_NAMESPACE(qint16) int_least16_t;
// Header from rfc6234 with 1 modification:
// sha1.h - commented out '#include <stdint.h>' on line 74