Index: Data-UUID-1.203/UUID.h
--- Data-UUID-1.203/UUID.h.orig	2008-11-21 22:37:56 +0100
+++ Data-UUID-1.203/UUID.h	2009-04-19 10:10:42 +0200
@@ -61,7 +61,11 @@
 #define UUID_NODEID_NV_STORE		_STDIR"/"UUID_NODEID
 #endif
 
-#define UUIDS_PER_TICK 1024
+#if defined(__CYGWIN__) || defined(__MINGW32__)
+#define UUIDS_PER_TICK 10000
+#else
+#define UUIDS_PER_TICK 10
+#endif
 #ifdef _MSC_VER
 #define I64(C) C##i64
 #else
Index: Data-UUID-1.203/UUID.pm
--- Data-UUID-1.203/UUID.pm.orig	2009-04-18 20:10:25 +0200
+++ Data-UUID-1.203/UUID.pm	2009-04-19 10:10:42 +0200
@@ -109,7 +109,7 @@
    $ug->create_from_name_bin(<namespace>, <name>);
 
    # creates UUID string, using conventional UUID string format,
-   # such as: 4162F712-1DD2-11B2-B17E-C09EFE1DC403
+   # such as: 4162f712-1dd2-11b2-b17e-c09efe1dc403
    $ug->create_str();
    $ug->create_from_name_str(<namespace>, <name>);
 
Index: Data-UUID-1.203/UUID.xs
--- Data-UUID-1.203/UUID.xs.orig	2008-11-21 22:37:56 +0100
+++ Data-UUID-1.203/UUID.xs	2009-04-19 10:11:33 +0200
@@ -106,7 +106,7 @@
 }
 
 static void get_system_time(perl_uuid_time_t *perl_uuid_time) {
-#if defined __cygwin__ || defined __MINGW32__ || defined WIN32
+#if defined(__CYGWIN__) || defined(__MINGW32__) || defined(WIN32)
    /* ULARGE_INTEGER time; */
    LARGE_INTEGER time;
 
@@ -130,7 +130,7 @@
 
 static void get_random_info(unsigned char seed[16]) {
    SV* ctx;
-#if defined __cygwin__ || defined __MINGW32__ || defined __MSWin32__
+#if defined(__CYGWIN__) || defined(__MINGW32__) || defined(WIN32)
    typedef struct {
       MEMORYSTATUS  m;
       SYSTEM_INFO   s;
@@ -149,7 +149,7 @@
 #endif
    randomness r;
 
-#if defined __cygwin__ || defined __MINGW32__ || defined __MSWin32__
+#if defined(__CYGWIN__) || defined(__MINGW32__) || defined(WIN32)
    GlobalMemoryStatus(&r.m);
    GetSystemInfo(&r.s);
    GetSystemTimeAsFileTime(&r.t);
@@ -181,10 +181,10 @@
       len = sizeof(perl_uuid_t);
       break;
    case F_STR:
-      sprintf(buf, "%8.8X-%4.4X-%4.4X-%2.2X%2.2X-", (unsigned int)u.time_low, u.time_mid,
+      sprintf(buf, "%8.8x-%4.4x-%4.4x-%2.2x%2.2x-", (unsigned int)u.time_low, u.time_mid,
 	 u.time_hi_and_version, u.clock_seq_hi_and_reserved, u.clock_seq_low);
       for(i = 0; i < 6; i++ ) 
-	 sprintf(buf+strlen(buf), "%2.2X", u.node[i]);
+	 sprintf(buf+strlen(buf), "%2.2x", u.node[i]);
       len = strlen(buf);
       break;
    case F_HEX:
@@ -348,7 +348,7 @@
       *hate += getpid();
    } else {
       get_random_info(seed);
-      seed[0] |= 0x80;
+      seed[0] |= 0x01;
       memcpy(&(RETVAL->nodeid), seed, sizeof(uuid_node_t));
       mask = umask(_DEFAULT_UMASK);
       if ((fd = fopen(UUID_NODEID_NV_STORE, "wb"))) {
