summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2007-02-14 07:46:11 +0000
committerJens Arnold <amiconn@rockbox.org>2007-02-14 07:46:11 +0000
commit19417db99ac8475fc111a5b9a7b4caa186cb476e (patch)
tree4930c18450e1cb9b89fe9899e487b2cf6d0a2f2c
parent4de600b46ecdac7c9b9f861ce54d446189718538 (diff)
downloadrockbox-19417db99ac8475fc111a5b9a7b4caa186cb476e.tar.gz
rockbox-19417db99ac8475fc111a5b9a7b4caa186cb476e.zip
Use the correct swap functions for live conversion, and fix 64 bit sims.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12302 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/common/structec.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/firmware/common/structec.c b/firmware/common/structec.c
index ec7e1409fd..7c76874692 100644
--- a/firmware/common/structec.c
+++ b/firmware/common/structec.c
@@ -18,6 +18,7 @@
18 ****************************************************************************/ 18 ****************************************************************************/
19 19
20#include <string.h> 20#include <string.h>
21#include <inttypes.h>
21#include "structec.h" 22#include "structec.h"
22#include "system.h" 23#include "system.h"
23#include "file.h" 24#include "file.h"
@@ -66,17 +67,17 @@ void structec_convert(void *structure, const char *ecinst,
66 /* Swap 2 bytes. */ 67 /* Swap 2 bytes. */
67 case 's': 68 case 's':
68 { 69 {
69 unsigned short *data = (unsigned short *)buf; 70 uint16_t *data = (uint16_t *)buf;
70 *data = SWAP_16(*data); 71 *data = swap16(*data);
71 buf += 2; 72 buf += 2;
72 break; 73 break;
73 } 74 }
74 75
75 /* Swap 4 bytes. */ 76 /* Swap 4 bytes. */
76 case 'l': 77 case 'l':
77 { 78 {
78 unsigned long *data = (unsigned long *)buf; 79 uint32_t *data = (uint32_t *)buf;
79 *data = SWAP_32(*data); 80 *data = swap32(*data);
80 buf += 4; 81 buf += 4;
81 break; 82 break;
82 } 83 }