/* ==== For rate-limiting. */
int _bufferevent_decrement_write_buckets(struct bufferevent_private *bev,
- int bytes);
+ ev_ssize_t bytes);
int _bufferevent_decrement_read_buckets(struct bufferevent_private *bev,
- int bytes);
-int _bufferevent_get_read_max(struct bufferevent_private *bev);
-int _bufferevent_get_write_max(struct bufferevent_private *bev);
+ ev_ssize_t bytes);
+ev_ssize_t _bufferevent_get_read_max(struct bufferevent_private *bev);
+ev_ssize_t _bufferevent_get_write_max(struct bufferevent_private *bev);
#ifdef __cplusplus
}
the maximum amount we should read if is_read. Return that maximum, or
0 if our bucket is wholly exhausted.
*/
-static inline int
+static inline ev_ssize_t
_bufferevent_get_rlim_max(struct bufferevent_private *bev, int is_write)
{
/* needs lock on bev. */
- int max_so_far = is_write?MAX_TO_WRITE_EVER:MAX_TO_READ_EVER;
+ ev_ssize_t max_so_far = is_write?MAX_TO_WRITE_EVER:MAX_TO_READ_EVER;
#define LIM(x) \
(is_write ? (x).write_limit : (x).read_limit)
return max_so_far;
}
-int
+ev_ssize_t
_bufferevent_get_read_max(struct bufferevent_private *bev)
{
return _bufferevent_get_rlim_max(bev, 0);
}
-int
+ev_ssize_t
_bufferevent_get_write_max(struct bufferevent_private *bev)
{
return _bufferevent_get_rlim_max(bev, 1);
}
int
-_bufferevent_decrement_read_buckets(struct bufferevent_private *bev, int bytes)
+_bufferevent_decrement_read_buckets(struct bufferevent_private *bev, ev_ssize_t bytes)
{
/* XXXXX Make sure all users of this function check its return value */
int r = 0;
}
int
-_bufferevent_decrement_write_buckets(struct bufferevent_private *bev, int bytes)
+_bufferevent_decrement_write_buckets(struct bufferevent_private *bev, ev_ssize_t bytes)
{
/* XXXXX Make sure all users of this function check its return value */
int r = 0;
struct evbuffer *input;
int res = 0;
short what = BEV_EVENT_READING;
- int howmuch = -1, readmax=-1;
+ ev_ssize_t howmuch = -1, readmax=-1;
_bufferevent_incref_and_lock(bufev);
}
/* XXX use the other addrinfos? */
- r = bufferevent_socket_connect(bev, ai->ai_addr, ai->ai_addrlen);
+ r = bufferevent_socket_connect(bev, ai->ai_addr, (int)ai->ai_addrlen);
_bufferevent_decref_and_unlock(bev);
evutil_freeaddrinfo(ai);
}
#include "event2/event-config.h"
+#include <limits.h>
+
#include "util-internal.h"
#include "evthread-internal.h"
void
evutil_secure_rng_add_bytes(const char *buf, size_t n)
{
- arc4random_addrandom((unsigned char*)buf, n);
+ arc4random_addrandom((unsigned char*)buf,
+ n>(size_t)INT_MAX ? INT_MAX : n);
}
#define FD_SET_ALLOC_SIZE(n) ((sizeof(struct win_fd_set) + ((n)-1)*sizeof(SOCKET)))
static int
-realloc_fd_sets(struct win32op *op, size_t new_size)
+realloc_fd_sets(struct win32op *op, int new_size)
{
size_t size;