List:Commits« Previous MessageNext Message »
From:Martin Skold Date:April 27 2010 11:38am
Subject:bzr commit into mysql-5.1-telco-7.1 branch (Martin.Skold:3572) Bug#31853
View as plain text  
#At file:///home/marty/MySQL/mysql-5.1-telco-7.1/

 3572 Martin Skold	2010-04-27 [merge]
      Merge
      modified:
        storage/ndb/src/ndbjtie/utils/mystdint.h
        win/configure.js

=== modified file 'storage/ndb/src/ndbjtie/utils/mystdint.h'
--- a/storage/ndb/src/ndbjtie/utils/mystdint.h	2010-04-06 02:58:31 +0000
+++ b/storage/ndb/src/ndbjtie/utils/mystdint.h	2010-04-27 09:53:30 +0000
@@ -23,49 +23,47 @@
 #define mystdint_h
 
 /*
- * Definition of C99's exact-width integral types for NDB-independent code.
+ * Definition of C99's exact-width integral types for JTie.
  *
- * JTie pre-defines type mappings for the C99 exact-width type aliases
- *   int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t
- * as defined in <stdint.h> as well as uses these types internally.
+ * JTie has pre-defined type mappings for the C99 exact-width type aliases:
+ * int8_t, uint8_t, ... int64_t, uint64_t, which are a more natural fit for
+ * Java than the native, integral C types, char ... long long, 
  *
- * Unfortunately, some C/C++ compiler still lack a stdint.h header file.
- * (For instance, MS Visual Studio until VS2010.)  We delegate to a helper
- * file that handles the absence of the <stdint.h>.
+ * Unfortunately, the C99 <stdint.h> file is not provided by some C/C++
+ * compilers.  (It's a crying shame.  For instance, MS Visual Studio 
+ * provides <stdint.h> not until VS2010.)  Therefore, this header deals in a
+ * single place with the presence or absence of the <stdint.h> file.
  *
- * Applications of JTie (like NDB JTie) may define their own type aliases
- * for exact-width types (like Uint8, Int8 etc), for which type mappings can
- * be easily provided with just a few (NDB) JTie (_trait alias) definitions.
- *
- * Here, we do NOT want to introduce artificial dependencies by referring to
- * application-specific aliases for JTie's generic implementation and tests:
- * compiler/platform testing has proven (!) much easier when the JTie core
- * code is self-contained and the JTie unit tests compile & run standalone.
+ * While JTie applications (like NDB JTie) may have their own type aliases
+ * for exact-width types, it is preferrable not use these as the basis for
+ * JTie's implementation and tests itself -- for platform testing has proven
+ * much easier with a self-contained, standalone-compilable and -testable
+ * JTie unit tests, where problematic patterns can be readily identified.
+ * Hence, applications with their own, non-stdint-based exact-width type
+ * definitions should add and use corresponding JTie type mapping aliases.
  */
 
-#ifdef HAVE_CONFIG_H
-#  include "config.h"
-#else
-// MS Visual Studio provides <stdint.h> not until VS2010
-// (VC7/VS2003=1310, VC8/VS2005=1400, VC9/VS2008=1500, VC10/VS2010=1600)
-#  if defined(_MSC_VER) && (_MSC_VER >= 1600)
-#    define HAVE_STDINT_H 1
-#  endif // defined(_MSC_VER) && (_MSC_VER >= 1600)
-#endif // !HAVE_STDINT_H
-
+#include <ndb_global.h>
 
 #ifdef HAVE_STDINT_H
-#  include <stdint.h> // not using namespaces yet
+
+#include <stdint.h> // not using namespaces yet
+
 #else
-// C99 stdint type aliases for ILP32 and LP64 programming models
+
+// this covers ILP32 and LP64 programming models
+#ifndef __SunOS_5_9
 typedef signed char int8_t;
-typedef unsigned char uint8_t;
-typedef signed short int16_t;
-typedef unsigned short uint16_t;
 typedef signed long int32_t;
 typedef unsigned long uint32_t;
 typedef signed long long int64_t;
 typedef unsigned long long uint64_t;
+#endif
+typedef unsigned char uint8_t;
+typedef signed short int16_t;
+typedef unsigned short uint16_t;
+
 #endif // !HAVE_STDINT_H
 
 #endif // mystdint_h
+

=== modified file 'win/configure.js'
--- a/win/configure.js	2010-03-12 15:58:18 +0000
+++ b/win/configure.js	2010-04-27 09:30:20 +0000
@@ -245,13 +245,20 @@ function GetJavaNdbVersion(str)
         }
     }
 
-    for(i = 0; i < 4; i++) 
+    for(i = 0; i < 3; i++) 
     {
-        if(version[i] == null) return null;
+        if(version[i] == "" || version[i] == null) 
+        {
+          return null;
+        }
     }
 
     var res = "";
-    res = res.concat(version[0], ".", version[1], ".", version[2], ".", version[3]);
+    res = res.concat(version[0], ".", version[1], ".", version[2]);
+    if(version[3] != "" && version[3] != null) 
+    {
+      res = res.concat(".", version[3]);
+    }
     return res;
 }
 

Thread
bzr commit into mysql-5.1-telco-7.1 branch (Martin.Skold:3572) Bug#31853Martin Skold27 Apr