From 3a5a176ea0329ffba5552dc04b440cd7ea2cc463 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Mon, 26 Jan 2004 23:46:03 +0000 Subject: [PATCH] S_IFBLK and S_IFCHR may not exist in some places (like Windows), so let's check for those macros, and if they aren't defined, let's assume there aren't Unixly devices on this platform. --- crypto/rand/randfile.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/crypto/rand/randfile.c b/crypto/rand/randfile.c index f1f250c5bf..8b072e0679 100644 --- a/crypto/rand/randfile.c +++ b/crypto/rand/randfile.c @@ -110,6 +110,7 @@ int RAND_load_file(const char *file, long bytes) in=fopen(file,"rb"); if (in == NULL) goto err; +#if defined(S_IFBLK) && !defined(S_IFCHR) if (sb.st_mode & (S_IFBLK | S_IFCHR)) { /* this file is a device. we don't want read an infinite number * of bytes from a random device, nor do we want to use buffered @@ -118,6 +119,7 @@ int RAND_load_file(const char *file, long bytes) bytes = (bytes == -1) ? 2048 : bytes; /* ok, is 2048 enough? */ setvbuf(in, NULL, _IONBF, 0); /* don't do buffered reads */ } +#endif for (;;) { if (bytes > 0) @@ -151,6 +153,7 @@ int RAND_write_file(const char *file) i=stat(file,&sb); if (i != -1) { +#if defined(S_IFBLK) && !defined(S_IFCHR) if (sb.st_mode & (S_IFBLK | S_IFCHR)) { /* this file is a device. we don't write back to it. * we "succeed" on the assumption this is some sort @@ -159,6 +162,7 @@ int RAND_write_file(const char *file) */ return(1); } +#endif } #if defined(O_CREAT) && !defined(OPENSSL_SYS_WIN32) -- 2.25.1