gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r32400 - in libmicrohttpd/src: microhttpd platform


From: gnunet
Subject: [GNUnet-SVN] r32400 - in libmicrohttpd/src: microhttpd platform
Date: Tue, 18 Feb 2014 19:39:43 +0100

Author: Karlson2k
Date: 2014-02-18 19:39:43 +0100 (Tue, 18 Feb 2014)
New Revision: 32400

Modified:
   libmicrohttpd/src/microhttpd/test_postprocessor.c
   libmicrohttpd/src/microhttpd/test_postprocessor_large.c
   libmicrohttpd/src/platform/platform_interface.h
   libmicrohttpd/src/platform/w32functions.c
   libmicrohttpd/src/platform/w32functions.h
Log:
Implement MHD_W32_random(), replace RANDOM() -> MHD_random_()

Modified: libmicrohttpd/src/microhttpd/test_postprocessor.c
===================================================================
--- libmicrohttpd/src/microhttpd/test_postprocessor.c   2014-02-18 18:39:31 UTC 
(rev 32399)
+++ libmicrohttpd/src/microhttpd/test_postprocessor.c   2014-02-18 18:39:43 UTC 
(rev 32400)
@@ -141,7 +141,7 @@
   size = strlen (URL_DATA);
   while (i < size)
     {
-      delta = 1 + RANDOM () % (size - i);
+      delta = 1 + MHD_random_ () % (size - i);
       MHD_post_process (pp, &URL_DATA[i], delta);
       i += delta;
     }
@@ -250,7 +250,7 @@
   size = strlen (FORM_DATA);
   while (i < size)
     {
-      delta = 1 + RANDOM () % (size - i);
+      delta = 1 + MHD_random_ () % (size - i);
       MHD_post_process (pp, &FORM_DATA[i], delta);
       i += delta;
     }
@@ -285,7 +285,7 @@
   size = strlen (FORM_NESTED_DATA);
   while (i < size)
     {
-      delta = 1 + RANDOM () % (size - i);
+      delta = 1 + MHD_random_ () % (size - i);
       MHD_post_process (pp, &FORM_NESTED_DATA[i], delta);
       i += delta;
     }
@@ -319,7 +319,7 @@
   size = strlen (URL_EMPTY_VALUE_DATA);
   while (i < size)
     {
-      delta = 1 + RANDOM () % (size - i);
+      delta = 1 + MHD_random_ () % (size - i);
       MHD_post_process (pp, &URL_EMPTY_VALUE_DATA[i], delta);
       i += delta;
     }

Modified: libmicrohttpd/src/microhttpd/test_postprocessor_large.c
===================================================================
--- libmicrohttpd/src/microhttpd/test_postprocessor_large.c     2014-02-18 
18:39:31 UTC (rev 32399)
+++ libmicrohttpd/src/microhttpd/test_postprocessor_large.c     2014-02-18 
18:39:43 UTC (rev 32400)
@@ -83,7 +83,7 @@
   size = strlen (data);
   while (i < size)
     {
-      delta = 1 + RANDOM () % (size - i);
+      delta = 1 + MHD_random_ () % (size - i);
       MHD_post_process (pp, &data[i], delta);
       i += delta;
     }

Modified: libmicrohttpd/src/platform/platform_interface.h
===================================================================
--- libmicrohttpd/src/platform/platform_interface.h     2014-02-18 18:39:31 UTC 
(rev 32399)
+++ libmicrohttpd/src/platform/platform_interface.h     2014-02-18 18:39:43 UTC 
(rev 32400)
@@ -133,4 +133,10 @@
 #define MHD_INVALID_PIPE_ MHD_INVALID_SOCKET
 #endif
 
+#if !defined(_WIN32) || defined(__CYGWIN__)
+#define MHD_random_() random()
+#else
+#define MHD_random_() MHD_W32_random()
+#endif
+
 #endif // MHD_PLATFORM_INTERFACE_H

Modified: libmicrohttpd/src/platform/w32functions.c
===================================================================
--- libmicrohttpd/src/platform/w32functions.c   2014-02-18 18:39:31 UTC (rev 
32399)
+++ libmicrohttpd/src/platform/w32functions.c   2014-02-18 18:39:43 UTC (rev 
32400)
@@ -27,6 +27,8 @@
 #include <errno.h>
 #include <winsock2.h>
 #include <string.h>
+#include <stdint.h>
+#include <time.h>
 
 /**
  * Return errno equivalent of last winsock error
@@ -618,3 +620,22 @@
   sockets_pair[1] = INVALID_SOCKET;
   return -1;
 }
+
+/**
+ * Static variable used by pseudo random number generator
+ */
+static int32_t rnd_val = 0;
+/**
+ * Generate 31-bit pseudo random number.
+ * Function initialize itself at first call to current time.
+ * @return 31-bit pseudo random number.
+ */
+int MHD_W32_random(void)
+{
+  if (0 == rnd_val)
+    rnd_val = (int32_t)time(NULL);
+  /* stolen from winsup\cygwin\random.cc */
+  rnd_val = (16807 * (rnd_val % 127773) - 2836 * (rnd_val / 127773))
+               & 0x7fffffff;
+  return (int)rnd_val;
+}

Modified: libmicrohttpd/src/platform/w32functions.h
===================================================================
--- libmicrohttpd/src/platform/w32functions.h   2014-02-18 18:39:31 UTC (rev 
32399)
+++ libmicrohttpd/src/platform/w32functions.h   2014-02-18 18:39:43 UTC (rev 
32400)
@@ -177,6 +177,13 @@
  * @return zero on success, -1 otherwise
  */
 int MHD_W32_pair_of_sockets_(SOCKET sockets_pair[2]);
+/**
+ * Generate 31-bit pseudo random number.
+ * Function initialize itself at first call to current time.
+ * @return 31-bit pseudo random number.
+ */
+_MHD_EXTERN int MHD_W32_random(void); /* must be exported for "make check" 
tests */
+                                      /* TODO: exclude from exports */
 
 #ifdef __cplusplus
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]