Paste: (bad) fix for windows.rancom

Author: darrint
Mode: factor
Date: Fri, 22 May 2009 21:46:38
Plain Text |
diff --git a/basis/random/windows/windows.factor b/basis/random/windows/windows.factor
index 6dce078..a171058 100644
--- a/basis/random/windows/windows.factor
+++ b/basis/random/windows/windows.factor
@@ -1,7 +1,7 @@
 USING: accessors alien.c-types byte-arrays
 combinators.short-circuit continuations destructors init kernel
 locals namespaces random windows.advapi32 windows.errors
-windows.kernel32 ;
+windows.kernel32 math.bitwise ;
 IN: random.windows
 
 TUPLE: windows-rng provider type ;
@@ -25,7 +25,8 @@ CONSTANT: factor-crypto-container "FactorCryptoContainer"
     CryptAcquireContextW handle swap ;
 
 : acquire-crypto-context ( provider type -- handle )
-    0 (acquire-crypto-context)
+    CRYPT_MACHINE_KEYSET
+    (acquire-crypto-context)
     0 = [
         GetLastError NTE_BAD_KEYSET =
         [ drop f ] [ win32-error-string throw ] if
@@ -34,7 +35,7 @@ CONSTANT: factor-crypto-container "FactorCryptoContainer"
     ] if ;
 
 : create-crypto-context ( provider type -- handle )
-    CRYPT_NEWKEYSET (acquire-crypto-context) win32-error=0/f *void* ;
+    { CRYPT_MACHINE_KEYSET CRYPT_NEWKEYSET } flags (acquire-crypto-context) win32-error=0/f *void* ;
 
 ERROR: acquire-crypto-context-failed provider type ;
 

New Annotation

Summary:
Author:
Mode:
Body: