projects
/
oweals
/
gnunet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
-remove async ecc key generation, not needed
[oweals/gnunet.git]
/
src
/
util
/
common_endian.c
diff --git
a/src/util/common_endian.c
b/src/util/common_endian.c
index 3a13214636433aad83b7b315b8ae2b3fa17e0b2f..117e575e4b228ec3341331a46800f516b0566469 100644
(file)
--- a/
src/util/common_endian.c
+++ b/
src/util/common_endian.c
@@
-1,6
+1,6
@@
/*
This file is part of GNUnet.
/*
This file is part of GNUnet.
- (C) 2001, 2002, 2003, 2004, 2006 Christian Grothoff (and other contributing authors)
+ (C) 2001, 2002, 2003, 2004, 2006
, 2012
Christian Grothoff (and other contributing authors)
GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@
-34,8
+34,10
@@
GNUNET_ntohll (uint64_t n)
{
#if __BYTE_ORDER == __BIG_ENDIAN
return n;
{
#if __BYTE_ORDER == __BIG_ENDIAN
return n;
-#el
se
+#el
if __BYTE_ORDER == __LITTLE_ENDIAN
return (((uint64_t) ntohl (n)) << 32) + ntohl (n >> 32);
return (((uint64_t) ntohl (n)) << 32) + ntohl (n >> 32);
+#else
+ #error byteorder undefined
#endif
}
#endif
}
@@
-44,35
+46,45
@@
GNUNET_htonll (uint64_t n)
{
#if __BYTE_ORDER == __BIG_ENDIAN
return n;
{
#if __BYTE_ORDER == __BIG_ENDIAN
return n;
-#el
se
+#el
if __BYTE_ORDER == __LITTLE_ENDIAN
return (((uint64_t) htonl (n)) << 32) + htonl (n >> 32);
return (((uint64_t) htonl (n)) << 32) + htonl (n >> 32);
+#else
+ #error byteorder undefined
#endif
}
#endif
}
+/**
+ * Convert double to network-byte-order.
+ * @param d the value in network byte order
+ * @return the same value in host byte order
+ */
double
GNUNET_hton_double (double d)
{
double res;
double
GNUNET_hton_double (double d)
{
double res;
- unsigned int *in = (unsigned int *) &d;
- unsigned int *out = (unsigned int *) &res;
+ uint64_t *in = (uint64_t *) &d;
+ uint64_t *out = (uint64_t *) &res;
+
+ out[0] = GNUNET_htonll(in[0]);
- out[0] = htonl(in[0]);
- out[1] = htonl(in[1]);
-
return res;
}
return res;
}
+/**
+ * Convert double to host-byte-order
+ * @param d the value in network byte order
+ * @return the same value in host byte order
+ */
double
GNUNET_ntoh_double (double d)
{
double res;
double
GNUNET_ntoh_double (double d)
{
double res;
- u
nsigned int *in = (unsigned in
t *) &d;
- u
nsigned int *out = (unsigned in
t *) &res;
+ u
int64_t *in = (uint64_
t *) &d;
+ u
int64_t *out = (uint64_
t *) &res;
- out[0] = ntohl(in[0]);
- out[1] = ntohl(in[1]);
+ out[0] = GNUNET_ntohll(in[0]);
return res;
}
return res;
}