]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - armsrc/crapto1.c
fix compile errors in newer environment
[proxmark3-svn] / armsrc / crapto1.c
index 9d491d1271ff1fdcda05b5ae980e1530f8d00ccc..74b4eea7026bade530fd3f0cf2c06ad000a7ce45 100644 (file)
@@ -34,22 +34,29 @@ static void __attribute__((constructor)) fill_lut()
 static void quicksort(uint32_t* const start, uint32_t* const stop)\r
 {\r
        uint32_t *it = start + 1, *rit = stop;\r
-\r
+       uint32_t tmp;\r
        if(it > rit)\r
                return;\r
 \r
-       while(it < rit)\r
-               if(*it <= *start)\r
+       while(it < rit) {\r
+               if(*it <= *start) {\r
                        ++it;\r
-               else if(*rit > *start)\r
+               } else if(*rit > *start) {\r
                        --rit;\r
-               else\r
-                       *it ^= (*it ^= *rit, *rit ^= *it);\r
+               } else {\r
+                       tmp = *it;\r
+                       *it = *rit;\r
+                       *rit = tmp;\r
+               }\r
+       }\r
 \r
        if(*rit >= *start)\r
                --rit;\r
-       if(rit != start)\r
-               *rit ^= (*rit ^= *start, *start ^= *rit);\r
+       if(rit != start) {\r
+               tmp = *rit;\r
+               *rit = *start;\r
+               *start = tmp;\r
+       }\r
 \r
        quicksort(start, rit - 1);\r
        quicksort(rit + 1, stop);\r
@@ -319,9 +326,11 @@ uint8_t lfsr_rollback_bit(struct Crypto1State *s, uint32_t in, int fb)
 {\r
        int out;\r
        uint8_t ret;\r
-\r
+       uint32_t tmp;\r
        s->odd &= 0xffffff;\r
-       s->odd ^= (s->odd ^= s->even, s->even ^= s->odd);\r
+       tmp = s->odd;\r
+       s->odd = s->even;\r
+       s->even = tmp;\r
 \r
        out = s->even & 1;\r
        out ^= LF_POLY_EVEN & (s->even >>= 1);\r
Impressum, Datenschutz