aboutsummaryrefslogtreecommitdiffstats
path: root/ldid.cpp
diff options
context:
space:
mode:
authorJay Freeman (saurik) <saurik@saurik.com>2010-11-08 10:11:36 -0800
committerJay Freeman (saurik) <saurik@saurik.com>2010-11-08 10:11:36 -0800
commit5525a5a7136af1b5cfbf80acfee879144d4cc74b (patch)
tree349052f97a4f8d14c3378ec1878635e16ff2d808 /ldid.cpp
parent04802ab148864821973653ddf52f4f14f69d2589 (diff)
downloadldid-5525a5a7136af1b5cfbf80acfee879144d4cc74b.tar.gz
ldid-5525a5a7136af1b5cfbf80acfee879144d4cc74b.tar.zst
ldid-5525a5a7136af1b5cfbf80acfee879144d4cc74b.zip
Support running ldid on ppc.
Diffstat (limited to 'ldid.cpp')
-rw-r--r--ldid.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/ldid.cpp b/ldid.cpp
index 8700e7e..8445315 100644
--- a/ldid.cpp
+++ b/ldid.cpp
@@ -178,12 +178,14 @@ int32_t Swap_(int32_t value) {
return Swap_(static_cast<uint32_t>(value));
}
+bool little_(true);
+
uint16_t Swap(uint16_t value) {
- return true ? Swap_(value) : value;
+ return little_ ? Swap_(value) : value;
}
uint32_t Swap(uint32_t value) {
- return true ? Swap_(value) : value;
+ return little_ ? Swap_(value) : value;
}
int16_t Swap(int16_t value) {
@@ -463,6 +465,13 @@ void sha1(uint8_t *hash, uint8_t *data, size_t size) {
}
int main(int argc, const char *argv[]) {
+ union {
+ uint16_t word;
+ uint8_t byte[2];
+ } endian = {1};
+
+ little_ = endian.byte[0];
+
bool flag_R(false);
bool flag_t(false);
bool flag_p(false);