summaryrefslogtreecommitdiffstats
path: root/src/include/krb5
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>2006-03-08 04:18:31 +0000
committerKen Raeburn <raeburn@mit.edu>2006-03-08 04:18:31 +0000
commit59a772e257ac9012eaecd8c35f27c1e4630c80b0 (patch)
treed45b13209b4f216a33128e3b40d48e56c1a7fe68 /src/include/krb5
parent9a96c5372db9476322e689277469a56a5b4552be (diff)
Enable compilation of little-endian unaligned load/store helper
functions in k5-platform.h, and use them in kdb encoding/decoding macros. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17710 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/include/krb5')
-rw-r--r--src/include/krb5/ChangeLog8
-rw-r--r--src/include/krb5/kdb.h23
2 files changed, 13 insertions, 18 deletions
diff --git a/src/include/krb5/ChangeLog b/src/include/krb5/ChangeLog
index bbc1d8b97..2a7ca9a32 100644
--- a/src/include/krb5/ChangeLog
+++ b/src/include/krb5/ChangeLog
@@ -1,3 +1,11 @@
+2006-03-07 Ken Raeburn <raeburn@mit.edu>
+
+ * kdb.h: Include k5-platform.h.
+ (krb5_kdb_decode_int16, krb5_kdb_decode_int32): Use load_*_le
+ helper functions.
+ (krb5_kdb_encode_int16, krb5_kdb_encode_int32): Use store_*_le
+ helper functions.
+
2006-03-06 Ken Raeburn <raeburn@mit.edu>
* Makefile.in (PROCESS_REPLACE): Use MODULE_DIR instead of
diff --git a/src/include/krb5/kdb.h b/src/include/krb5/kdb.h
index c93ac96c4..c8327657f 100644
--- a/src/include/krb5/kdb.h
+++ b/src/include/krb5/kdb.h
@@ -194,26 +194,13 @@ extern char *krb5_mkey_pwd_prompt2;
*
* Data encoding is little-endian.
*/
+#include "k5-platform.h"
#define krb5_kdb_decode_int16(cp, i16) \
- *((krb5_int16 *) &(i16)) = (((krb5_int16) ((unsigned char) (cp)[0]))| \
- ((krb5_int16) ((unsigned char) (cp)[1]) << 8))
+ *((krb5_int16 *) &(i16)) = load_16_le(cp)
#define krb5_kdb_decode_int32(cp, i32) \
- *((krb5_int32 *) &(i32)) = (((krb5_int32) ((unsigned char) (cp)[0]))| \
- ((krb5_int32) ((unsigned char) (cp)[1]) << 8) | \
- ((krb5_int32) ((unsigned char) (cp)[2]) << 16)| \
- ((krb5_int32) ((unsigned char) (cp)[3]) << 24))
-#define krb5_kdb_encode_int16(i16, cp) \
- { \
- (cp)[0] = (unsigned char) ((i16) & 0xff); \
- (cp)[1] = (unsigned char) (((i16) >> 8) & 0xff); \
- }
-#define krb5_kdb_encode_int32(i32, cp) \
- { \
- (cp)[0] = (unsigned char) ((i32) & 0xff); \
- (cp)[1] = (unsigned char) (((i32) >> 8) & 0xff); \
- (cp)[2] = (unsigned char) (((i32) >> 16) & 0xff); \
- (cp)[3] = (unsigned char) (((i32) >> 24) & 0xff); \
- }
+ *((krb5_int32 *) &(i32)) = load_32_le(cp)
+#define krb5_kdb_encode_int16(i16, cp) store_16_le(i16, cp)
+#define krb5_kdb_encode_int32(i32, cp) store_32_le(i32, cp)
#define KRB5_KDB_OPEN_RW 0
#define KRB5_KDB_OPEN_RO 1