summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ldid.cpp13
-rwxr-xr-xmake.sh2
2 files changed, 12 insertions, 3 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);
diff --git a/make.sh b/make.sh
index 0be7611..3928373 100755
--- a/make.sh
+++ b/make.sh
@@ -1,2 +1,2 @@
#!/bin/bash
-g++ -arch i386 -arch x86_64 -o ldid ldid.cpp -I. -x c lookup2.c sha1.c
+g++ -arch ppc -arch i386 -arch x86_64 -o ldid ldid.cpp -I. -x c lookup2.c sha1.c