-  end;\r
-  if (a = 0) then begin\r
-    blockread(f,l.devrnd,sizeof(l.devrnd));\r
-    closefile(f);\r
-  end else begin\r
-    {the OS we are on has no /dev/random or /dev/urandom, get a hash from /var/log/wtmp}\r
-    wtmphash;\r
-    move(wtmpcached,l.devrnd,sizeof(l.devrnd));\r
+    if (a <> 0) then begin\r
+      assignfile(f,'/dev/random');\r
+      {$i-}reset(f,1);{$i+}\r
+      a := ioresult;\r
+    end;\r
+    if (a = 0) then begin\r
+      blockread(f,l.devrnd,sizeof(l.devrnd));\r
+      closefile(f);\r
+    end else begin\r
+      {the OS we are on has no /dev/random or /dev/urandom, get a hash from /var/log/wtmp}\r
+      wtmphash;\r
+      move(wtmpcached,l.devrnd,sizeof(l.devrnd));\r
+    end;\r