# HG changeset patch
# User etisserant
# Date 1185969014 -7200
# Node ID 3d24cc85bb3ce2b06b3ec0679a28319b9379ac1b
# Parent  017efb738d952f5ae280463d6a08d7f995f313a7
Fixed some problems win 32 bits GCC and Long Long literals

diff -r 017efb738d95 -r 3d24cc85bb3c lib/iec_std_lib.h
--- a/lib/iec_std_lib.h	Thu Jul 26 17:18:36 2007 +0200
+++ b/lib/iec_std_lib.h	Wed Aug 01 13:50:14 2007 +0200
@@ -676,23 +676,25 @@
     return res;
 }
     /* BCD */
+#define __bcd_digit(fac) 
 static inline ULINT __bcd_to_uint(LWORD IN){
     return IN & 0xf +
-           ((IN >>= 4) & 0xf) * 10 + 
-           ((IN >>= 4) & 0xf) * 100 + 
-           ((IN >>= 4) & 0xf) * 1000 + 
-           ((IN >>= 4) & 0xf) * 10000 + 
-           ((IN >>= 4) & 0xf) * 100000 + 
-           ((IN >>= 4) & 0xf) * 1000000 + 
-           ((IN >>= 4) & 0xf) * 10000000 + 
-           ((IN >>= 4) & 0xf) * 100000000 + 
-           ((IN >>= 4) & 0xf) * 1000000000 + 
-           ((IN >>= 4) & 0xf) * 10000000000 + 
-           ((IN >>= 4) & 0xf) * 100000000000 + 
-           ((IN >>= 4) & 0xf) * 1000000000000 + 
-           ((IN >>= 4) & 0xf) * 10000000000000 + 
-           ((IN >>= 4) & 0xf) * 100000000000000 + 
-           ((IN >>= 4) & 0xf) * 1000000000000000;
+           !(IN >>= 4) ? 0 : IN & 0xf * 10ULL + 
+           !(IN >>= 4) ? 0 : IN & 0xf * 100ULL + 
+           !(IN >>= 4) ? 0 : IN & 0xf * 1000ULL + 
+           !(IN >>= 4) ? 0 : IN & 0xf * 10000ULL + 
+           !(IN >>= 4) ? 0 : IN & 0xf * 100000ULL + 
+           !(IN >>= 4) ? 0 : IN & 0xf * 1000000ULL + 
+           !(IN >>= 4) ? 0 : IN & 0xf * 10000000ULL + 
+           !(IN >>= 4) ? 0 : IN & 0xf * 100000000ULL + 
+           !(IN >>= 4) ? 0 : IN & 0xf * 1000000000ULL + 
+           !(IN >>= 4) ? 0 : IN & 0xf * 10000000000ULL + 
+           !(IN >>= 4) ? 0 : IN & 0xf * 100000000000ULL + 
+           !(IN >>= 4) ? 0 : IN & 0xf * 1000000000000ULL + 
+           !(IN >>= 4) ? 0 : IN & 0xf * 10000000000000ULL + 
+           !(IN >>= 4) ? 0 : IN & 0xf * 100000000000000ULL + 
+           !(IN >>= 4) ? 0 : IN & 0xf * 1000000000000000ULL;
+           
 }
 static inline LWORD __uint_to_bcd(ULINT IN){
     return (IN - (IN /= 10))|