]> granicus.if.org Git - libevent/commitdiff
Apparently MSVC lacks a ssize_t. Define an ev_ssize_t for headers, and make ssize_t...
authorNick Mathewson <nickm@torproject.org>
Thu, 30 Apr 2009 23:56:53 +0000 (23:56 +0000)
committerNick Mathewson <nickm@torproject.org>
Thu, 30 Apr 2009 23:56:53 +0000 (23:56 +0000)
svn:r1261

WIN32-Code/event-config.h
configure.in
include/event2/buffer.h
include/event2/bufferevent.h
include/event2/util.h
util-internal.h

index ffceb7d64fe96531b9b4e2573caf5af3cb277a40..0cc35f3d4b86bed2edff933921731f785b86f337 100644 (file)
 /* Define to unsigned int if you dont have it */
 #define _EVENT_socklen_t unsigned int
 
+/* Define to `int' if <sys/types.h> does not define. */
+#define _EVENT_ssize_t SSIZE_T
+
 #endif
index 3a0409588673f3253532f5a1cef275a6c6efb770..588a810b4c4728703bf5d31a47f29de4b3b70d49 100644 (file)
@@ -320,6 +320,7 @@ fi
 
 AC_TYPE_PID_T
 AC_TYPE_SIZE_T
+AC_TYPE_SSIZE_T
 
 AC_CHECK_TYPES([uint64_t, uint32_t, uint16_t, uint8_t], , ,
 [#ifdef HAVE_STDINT_H
index 4fcebc181cdeaf589e9aab5b4dfb763cc413a957..b458da5026bde2db56c5e522f0c54b728759c217 100644 (file)
@@ -80,7 +80,7 @@ struct evbuffer;
     modify these values except with evbuffer_ptr_set.
  */
 struct evbuffer_ptr {
-       ssize_t pos;
+       ev_ssize_t pos;
 
        /* Do not alter the values of fields. */
        struct {
@@ -379,7 +379,7 @@ int evbuffer_write(struct evbuffer *buffer, evutil_socket_t fd);
   @see evbuffer_read()
  */
 int evbuffer_write_atmost(struct evbuffer *buffer, evutil_socket_t fd,
-                                                 ssize_t howmuch);
+                                                 ev_ssize_t howmuch);
 
 /**
   Read from a file descriptor and store the result in an evbuffer.
@@ -537,7 +537,7 @@ void evbuffer_cb_unsuspend(struct evbuffer *buffer, struct evbuffer_cb_entry *cb
   @return a pointer to the contigous memory areay
 */
 
-unsigned char *evbuffer_pullup(struct evbuffer *buf, ssize_t size);
+unsigned char *evbuffer_pullup(struct evbuffer *buf, ev_ssize_t size);
 
 /**
   Prepends data to the beginning of the evbuffer
index 94cebe2761e5a4a1f764efe22e347c50614fbc55..0130f285ca84420f7939ed300f97820e4a8ce0af 100644 (file)
@@ -394,7 +394,7 @@ enum bufferevent_filter_result {
        on an error.
  */
 typedef enum bufferevent_filter_result (*bufferevent_filter_cb)(
-    struct evbuffer *src, struct evbuffer *dst, ssize_t dst_limit,
+    struct evbuffer *src, struct evbuffer *dst, ev_ssize_t dst_limit,
     enum bufferevent_flush_mode mode, void *ctx);
 
 /**
index eb31ec58432fc93337ffe799cf3cbf9779258e0c..15ca3f313ded9bbbb5be690bfb1b5a759b446f7c 100644 (file)
@@ -112,6 +112,12 @@ extern "C" {
 #define ev_uint8_t unsigned char
 #endif
 
+#ifdef _EVENT_ssize_t
+#define ev_ssize_t _EVENT_ssize_t
+#else
+#define ev_ssize_t ssize_t
+#endif
+
 #ifdef WIN32
 /** A type wide enough to hold the output of "socket()" or "accept()".  On
  * Windows, this is an intptr_t; elsewhere, it is an int. */
index 201b349d31cb79433a06e9d8224b448457be4c4e..569cafa297e88ac0a5c855691b72c59de1f1dacf 100644 (file)
@@ -40,6 +40,9 @@ extern "C" {
 #ifdef _EVENT___func__
 #define __func__ _EVENT___func__
 #endif
+#ifdef _EVENT_ssize_t
+#define ssize_t _EVENT_ssize_t
+#endif
 
 /* A good no-op to use in macro definitions. */
 #define _EVUTIL_NIL_STMT ((void)0)