projects
/
oweals
/
gnunet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use SSH more safely from configure
[oweals/gnunet.git]
/
src
/
util
/
common_endian.c
diff --git
a/src/util/common_endian.c
b/src/util/common_endian.c
index 56aa7b0c4eca578b9ba40621fa6727ec289845d7..45707f4ef70f14f8d4abb1df0fd6602b642438cf 100644
(file)
--- a/
src/util/common_endian.c
+++ b/
src/util/common_endian.c
@@
-1,10
+1,10
@@
/*
This file is part of GNUnet.
/*
This file is part of GNUnet.
-
(C) 2001, 2002, 2003, 2004, 2006
Christian Grothoff (and other contributing authors)
+
Copyright (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
- by the Free Software Foundation; either version
2
, or (at your
+ by the Free Software Foundation; either version
3
, or (at your
option) any later version.
GNUnet is distributed in the hope that it will be useful, but
option) any later version.
GNUnet is distributed in the hope that it will be useful, but
@@
-14,38
+14,45
@@
You should have received a copy of the GNU General Public License
along with GNUnet; see the file COPYING. If not, write to the
You should have received a copy of the GNU General Public License
along with GNUnet; see the file COPYING. If not, write to the
- Free Software Foundation, Inc., 5
9 Temple Place - Suite 330
,
- Boston, MA 0211
1-1307
, USA.
+ Free Software Foundation, Inc., 5
1 Franklin Street, Fifth Floor
,
+ Boston, MA 0211
0-1301
, USA.
*/
/**
* @file util/common_endian.c
* @brief endian conversion helpers
* @author Christian Grothoff
*/
/**
* @file util/common_endian.c
* @brief endian conversion helpers
* @author Christian Grothoff
+ * @author Gabor X Toth
*/
#include "platform.h"
*/
#include "platform.h"
-#include "gnunet_c
ommon
.h"
+#include "gnunet_c
rypto_lib
.h"
#define LOG(kind,...) GNUNET_log_from (kind, "util",__VA_ARGS__)
#define LOG(kind,...) GNUNET_log_from (kind, "util",__VA_ARGS__)
+
uint64_t
uint64_t
-GNUNET_
ntoh
ll (uint64_t n)
+GNUNET_
hton
ll (uint64_t n)
{
#if __BYTE_ORDER == __BIG_ENDIAN
return n;
{
#if __BYTE_ORDER == __BIG_ENDIAN
return n;
+#elif __BYTE_ORDER == __LITTLE_ENDIAN
+ return (((uint64_t) htonl (n)) << 32) + htonl (n >> 32);
#else
#else
- return (((uint64_t) ntohl (n)) << 32) + ntohl (n >> 32);
+ #error byteorder undefined
#endif
}
#endif
}
+
uint64_t
uint64_t
-GNUNET_
hton
ll (uint64_t n)
+GNUNET_
ntoh
ll (uint64_t n)
{
#if __BYTE_ORDER == __BIG_ENDIAN
return n;
{
#if __BYTE_ORDER == __BIG_ENDIAN
return n;
+#elif __BYTE_ORDER == __LITTLE_ENDIAN
+ return (((uint64_t) ntohl (n)) << 32) + ntohl (n >> 32);
#else
#else
- return (((uint64_t) htonl (n)) << 32) + htonl (n >> 32);
+ #error byteorder undefined
#endif
}
#endif
}
@@
-55,8
+62,8
@@
GNUNET_htonll (uint64_t n)
* @param d the value in network byte order
* @return the same value in host 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
+GNUNET_hton_double (double d)
{
double res;
uint64_t *in = (uint64_t *) &d;
{
double res;
uint64_t *in = (uint64_t *) &d;
@@
-73,18
+80,17
@@
GNUNET_hton_double (double d)
* @param d the value in network byte order
* @return the same value in 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
+GNUNET_ntoh_double (double d)
{
double res;
uint64_t *in = (uint64_t *) &d;
uint64_t *out = (uint64_t *) &res;
out[0] = GNUNET_ntohll(in[0]);
{
double res;
uint64_t *in = (uint64_t *) &d;
uint64_t *out = (uint64_t *) &res;
out[0] = GNUNET_ntohll(in[0]);
-
+
return res;
}
return res;
}
-
/* end of common_endian.c */
/* end of common_endian.c */