summaryrefslogtreecommitdiff
path: root/deps/openssl/openssl/crypto/rand/rand_win.c
diff options
context:
space:
mode:
Diffstat (limited to 'deps/openssl/openssl/crypto/rand/rand_win.c')
-rw-r--r--deps/openssl/openssl/crypto/rand/rand_win.c35
1 files changed, 15 insertions, 20 deletions
diff --git a/deps/openssl/openssl/crypto/rand/rand_win.c b/deps/openssl/openssl/crypto/rand/rand_win.c
index 06670ae017..b4be3097e9 100644
--- a/deps/openssl/openssl/crypto/rand/rand_win.c
+++ b/deps/openssl/openssl/crypto/rand/rand_win.c
@@ -196,6 +196,8 @@ typedef NET_API_STATUS(NET_API_FUNCTION *NETFREE) (LPBYTE);
# endif /* 1 */
# endif /* !OPENSSL_SYS_WINCE */
+#define NOTTOOLONG(start) ((GetTickCount() - (start)) < MAXDELAY)
+
int RAND_poll(void)
{
MEMORYSTATUS m;
@@ -466,9 +468,7 @@ int RAND_poll(void)
do
RAND_add(&hentry, hentry.dwSize, 5);
while (heap_next(&hentry)
- && (!good
- || (GetTickCount() - starttime) <
- MAXDELAY)
+ && (!good || NOTTOOLONG(starttime))
&& --entrycnt > 0);
}
}
@@ -480,8 +480,7 @@ int RAND_poll(void)
ex_cnt_limit--;
}
} while (heaplist_next(handle, &hlist)
- && (!good
- || (GetTickCount() - starttime) < MAXDELAY)
+ && (!good || NOTTOOLONG(starttime))
&& ex_cnt_limit > 0);
}
# else
@@ -496,11 +495,11 @@ int RAND_poll(void)
do
RAND_add(&hentry, hentry.dwSize, 5);
while (heap_next(&hentry)
+ && (!good || NOTTOOLONG(starttime))
&& --entrycnt > 0);
}
} while (heaplist_next(handle, &hlist)
- && (!good
- || (GetTickCount() - starttime) < MAXDELAY));
+ && (!good || NOTTOOLONG(starttime)));
}
# endif
@@ -518,8 +517,7 @@ int RAND_poll(void)
do
RAND_add(&p, p.dwSize, 9);
while (process_next(handle, &p)
- && (!good
- || (GetTickCount() - starttime) < MAXDELAY));
+ && (!good || NOTTOOLONG(starttime)));
/* thread walking */
/*
@@ -533,8 +531,7 @@ int RAND_poll(void)
do
RAND_add(&t, t.dwSize, 6);
while (thread_next(handle, &t)
- && (!good
- || (GetTickCount() - starttime) < MAXDELAY));
+ && (!good || NOTTOOLONG(starttime)));
/* module walking */
/*
@@ -548,8 +545,7 @@ int RAND_poll(void)
do
RAND_add(&m, m.dwSize, 9);
while (module_next(handle, &m)
- && (!good
- || (GetTickCount() - starttime) < MAXDELAY));
+ && (!good || NOTTOOLONG(starttime)));
if (close_snap)
close_snap(handle);
else
@@ -708,14 +704,13 @@ static void readscreen(void)
hBitmap = CreateCompatibleBitmap(hScrDC, w, n);
/* Get bitmap properties */
- GetObject(hBitmap, sizeof(BITMAP), (LPSTR) & bm);
- size = (unsigned int)bm.bmWidthBytes * bm.bmHeight * bm.bmPlanes;
-
- bi.biSize = sizeof(BITMAPINFOHEADER);
+ GetObject(hBitmap, sizeof(bm), (LPSTR)&bm);
+ size = (unsigned int)4 * bm.bmHeight * bm.bmWidth;
+ bi.biSize = sizeof(bi);
bi.biWidth = bm.bmWidth;
bi.biHeight = bm.bmHeight;
- bi.biPlanes = bm.bmPlanes;
- bi.biBitCount = bm.bmBitsPixel;
+ bi.biPlanes = 1;
+ bi.biBitCount = 32;
bi.biCompression = BI_RGB;
bi.biSizeImage = 0;
bi.biXPelsPerMeter = 0;
@@ -731,7 +726,7 @@ static void readscreen(void)
/* Copy the bits of the current line range into the buffer */
GetDIBits(hScrDC, hBitmap, y, n,
- bmbits, (BITMAPINFO *) & bi, DIB_RGB_COLORS);
+ bmbits, (LPBITMAPINFO)&bi, DIB_RGB_COLORS);
/* Get the hash of the bitmap */
MD(bmbits, size, md);