From 8e8152fabdbc286d50af6cabb52d933ccce7da42 Mon Sep 17 00:00:00 2001
From: root <root>
Date: Wed, 28 Nov 2007 17:32:24 +0000
Subject: fucking windows hates iso c, stupid microsoft lock-in strategy

---
 ev.3    | 15 ++++++++-------
 ev.c    | 14 +++++++-------
 ev.h    |  4 +---
 ev.html | 15 ++++++++-------
 ev.pod  | 13 +++++++------
 5 files changed, 31 insertions(+), 30 deletions(-)

diff --git a/ev.3 b/ev.3
index 9aefdff..9313383 100644
--- a/ev.3
+++ b/ev.3
@@ -307,13 +307,14 @@ might be supported on the current system, you would need to look at
 recommended ones.
 .Sp
 See the description of \f(CW\*(C`ev_embed\*(C'\fR watchers for more info.
-.IP "ev_set_allocator (void *(*cb)(void *ptr, size_t size))" 4
-.IX Item "ev_set_allocator (void *(*cb)(void *ptr, size_t size))"
-Sets the allocation function to use (the prototype and semantics are
-identical to the realloc C function). It is used to allocate and free
-memory (no surprises here). If it returns zero when memory needs to be
-allocated, the library might abort or take some potentially destructive
-action. The default is your system realloc function.
+.IP "ev_set_allocator (void *(*cb)(void *ptr, long size))" 4
+.IX Item "ev_set_allocator (void *(*cb)(void *ptr, long size))"
+Sets the allocation function to use (the prototype is similar \- the
+semantics is identical \- to the realloc C function). It is used to
+allocate and free memory (no surprises here). If it returns zero when
+memory needs to be allocated, the library might abort or take some
+potentially destructive action. The default is your system realloc
+function.
 .Sp
 You could override this function in high-availability programs to, say,
 free some memory if it cannot allocate memory, to use a special allocator,
diff --git a/ev.c b/ev.c
index f8b08f5..5383e2c 100644
--- a/ev.c
+++ b/ev.c
@@ -283,22 +283,22 @@ syserr (const char *msg)
     }
 }
 
-static void *(*alloc)(void *ptr, size_t size) = realloc;
+static void *(*alloc)(void *ptr, long size);
 
 void
-ev_set_allocator (void *(*cb)(void *ptr, size_t size))
+ev_set_allocator (void *(*cb)(void *ptr, long size))
 {
   alloc = cb;
 }
 
 inline_speed void *
-ev_realloc (void *ptr, size_t size)
+ev_realloc (void *ptr, long size)
 {
-  ptr = alloc (ptr, size);
+  ptr = alloc ? alloc (ptr, size) : realloc (ptr, size);
 
   if (!ptr && size)
     {
-      fprintf (stderr, "libev: cannot allocate %ld bytes, aborting.", (long)size);
+      fprintf (stderr, "libev: cannot allocate %ld bytes, aborting.", size);
       abort ();
     }
 
@@ -326,12 +326,12 @@ typedef struct
   int events;
 } ANPENDING;
 
+#if EV_USE_INOTIFY
 typedef struct
 {
-#if EV_USE_INOTIFY
   WL head;
-#endif
 } ANFS;
+#endif
 
 #if EV_MULTIPLICITY
 
diff --git a/ev.h b/ev.h
index bd023a7..d9f558a 100644
--- a/ev.h
+++ b/ev.h
@@ -66,8 +66,6 @@ typedef double ev_tstamp;
 
 /*****************************************************************************/
 
-#include <stddef.h> /* for size_t */
-
 #if EV_STAT_ENABLE
 # include <sys/stat.h>
 #endif
@@ -338,7 +336,7 @@ ev_tstamp ev_time (void);
  * or take some potentially destructive action.
  * The default is your system realloc function.
  */
-void ev_set_allocator (void *(*cb)(void *ptr, size_t size));
+void ev_set_allocator (void *(*cb)(void *ptr, long size));
 
 /* set the callback function to call on a
  * retryable syscall error
diff --git a/ev.html b/ev.html
index 4c6249e..c153869 100644
--- a/ev.html
+++ b/ev.html
@@ -6,7 +6,7 @@
 	<meta name="description" content="Pod documentation for libev" />
 	<meta name="inputfile" content="&lt;standard input&gt;" />
 	<meta name="outputfile" content="&lt;standard output&gt;" />
-	<meta name="created" content="Wed Nov 28 12:31:29 2007" />
+	<meta name="created" content="Wed Nov 28 18:32:11 2007" />
 	<meta name="generator" content="Pod::Xhtml 1.57" />
 <link rel="stylesheet" href="http://res.tst.eu/pod.css"/></head>
 <body>
@@ -232,13 +232,14 @@ might be supported on the current system, you would need to look at
 recommended ones.</p>
 		<p>See the description of <code>ev_embed</code> watchers for more info.</p>
 	</dd>
-	<dt>ev_set_allocator (void *(*cb)(void *ptr, size_t size))</dt>
+	<dt>ev_set_allocator (void *(*cb)(void *ptr, long size))</dt>
 	<dd>
-		<p>Sets the allocation function to use (the prototype and semantics are
-identical to the realloc C function). It is used to allocate and free
-memory (no surprises here). If it returns zero when memory needs to be
-allocated, the library might abort or take some potentially destructive
-action. The default is your system realloc function.</p>
+		<p>Sets the allocation function to use (the prototype is similar - the
+semantics is identical - to the realloc C function). It is used to
+allocate and free memory (no surprises here). If it returns zero when
+memory needs to be allocated, the library might abort or take some
+potentially destructive action. The default is your system realloc
+function.</p>
 		<p>You could override this function in high-availability programs to, say,
 free some memory if it cannot allocate memory, to use a special allocator,
 or even to sleep a while and retry until some memory is available.</p>
diff --git a/ev.pod b/ev.pod
index fbb7ff3..e906947 100644
--- a/ev.pod
+++ b/ev.pod
@@ -165,13 +165,14 @@ recommended ones.
 
 See the description of C<ev_embed> watchers for more info.
 
-=item ev_set_allocator (void *(*cb)(void *ptr, size_t size))
+=item ev_set_allocator (void *(*cb)(void *ptr, long size))
 
-Sets the allocation function to use (the prototype and semantics are
-identical to the realloc C function). It is used to allocate and free
-memory (no surprises here). If it returns zero when memory needs to be
-allocated, the library might abort or take some potentially destructive
-action. The default is your system realloc function.
+Sets the allocation function to use (the prototype is similar - the
+semantics is identical - to the realloc C function). It is used to
+allocate and free memory (no surprises here). If it returns zero when
+memory needs to be allocated, the library might abort or take some
+potentially destructive action. The default is your system realloc
+function.
 
 You could override this function in high-availability programs to, say,
 free some memory if it cannot allocate memory, to use a special allocator,
-- 
cgit v1.2.3