r18145@catbus: nickm | 2008-02-18 15:02:20 -0500

Stop using deprecated autoconf code to set integer types; detect actual files to include more thoroughly.   This should make us work on solaris 9 again.  This should be a backport candidate, if it works.  Also, make all libevent code use ev_uint32_t etc, rather than uint_32_t.


svn:r649
This commit is contained in:
Nick Mathewson 2008-02-18 20:04:01 +00:00
parent 506d4dbcf4
commit 11230f7e16
7 changed files with 137 additions and 87 deletions

View File

@ -43,6 +43,7 @@ Changes in current version:
o Use a 64-bit field to hold HTTP content-lengths. Patch from Scott Lamb. o Use a 64-bit field to hold HTTP content-lengths. Patch from Scott Lamb.
o Allow regression code to build even without Python installed o Allow regression code to build even without Python installed
o remove NDEBUG ifdefs from evdns.c o remove NDEBUG ifdefs from evdns.c
o detect integer types properly on platforms without stdint.h
Changes in 1.4.0: Changes in 1.4.0:

View File

@ -297,10 +297,22 @@ fi
AC_TYPE_PID_T AC_TYPE_PID_T
AC_TYPE_SIZE_T AC_TYPE_SIZE_T
AC_CHECK_TYPE(uint64_t, unsigned long long)
AC_CHECK_TYPE(uint32_t, unsigned int) AC_CHECK_TYPES([uint64_t, uint32_t, uint16_t, uint8_t], , ,
AC_CHECK_TYPE(uint16_t, unsigned short) [#ifdef HAVE_STDINT_H
AC_CHECK_TYPE(uint8_t, unsigned char) #include <stdint.h>
#elif defined(HAVE_INTTYPES_H)
#include <inttypes.h>
#endif
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif])
AC_CHECK_SIZEOF(long long)
AC_CHECK_SIZEOF(long)
AC_CHECK_SIZEOF(int)
AC_CHECK_SIZEOF(short)
AC_CHECK_TYPES([struct in6_addr], , , AC_CHECK_TYPES([struct in6_addr], , ,
[#ifdef WIN32 [#ifdef WIN32
#include <winsock2.h> #include <winsock2.h>

View File

@ -134,7 +134,7 @@
#ifdef __USE_ISOC99B #ifdef __USE_ISOC99B
/* libevent doesn't work without this */ /* libevent doesn't work without this */
typedef uint8_t u_char; typedef ev_uint8_t u_char;
typedef unsigned int uint; typedef unsigned int uint;
#endif #endif
#include <event.h> #include <event.h>
@ -364,7 +364,7 @@ error_is_eagain(int err)
static int static int
inet_aton(const char *c, struct in_addr *addr) inet_aton(const char *c, struct in_addr *addr)
{ {
uint32_t r; ev_uint32_t r;
if (strcmp(c, "255.255.255.255") == 0) { if (strcmp(c, "255.255.255.255") == 0) {
addr->s_addr = 0xffffffffu; addr->s_addr = 0xffffffffu;
} else { } else {
@ -1069,10 +1069,10 @@ default_transaction_id_fn(void)
return trans_id; return trans_id;
} }
static uint16_t (*trans_id_function)(void) = default_transaction_id_fn; static ev_uint16_t (*trans_id_function)(void) = default_transaction_id_fn;
void void
evdns_set_transaction_id_fn(uint16_t (*fn)(void)) evdns_set_transaction_id_fn(ev_uint16_t (*fn)(void))
{ {
if (fn) if (fn)
trans_id_function = fn; trans_id_function = fn;

View File

@ -90,7 +90,7 @@ class Struct:
self.PrintIndented(file, ' ', dcl) self.PrintIndented(file, ' ', dcl)
print >>file, '' print >>file, ''
for entry in self._entries: for entry in self._entries:
print >>file, ' uint8_t %s_set;' % entry.Name() print >>file, ' ev_uint8_t %s_set;' % entry.Name()
print >>file, '};\n' print >>file, '};\n'
print >>file, \ print >>file, \
@ -100,9 +100,9 @@ void %(name)s_clear(struct %(name)s *);
void %(name)s_marshal(struct evbuffer *, const struct %(name)s *); void %(name)s_marshal(struct evbuffer *, const struct %(name)s *);
int %(name)s_unmarshal(struct %(name)s *, struct evbuffer *); int %(name)s_unmarshal(struct %(name)s *, struct evbuffer *);
int %(name)s_complete(struct %(name)s *); int %(name)s_complete(struct %(name)s *);
void evtag_marshal_%(name)s(struct evbuffer *, uint32_t, void evtag_marshal_%(name)s(struct evbuffer *, ev_uint32_t,
const struct %(name)s *); const struct %(name)s *);
int evtag_unmarshal_%(name)s(struct evbuffer *, uint32_t, int evtag_unmarshal_%(name)s(struct evbuffer *, ev_uint32_t,
struct %(name)s *);""" % { 'name' : self._name } struct %(name)s *);""" % { 'name' : self._name }
@ -214,7 +214,7 @@ int evtag_unmarshal_%(name)s(struct evbuffer *, uint32_t,
'%(name)s_unmarshal(struct %(name)s *tmp, ' '%(name)s_unmarshal(struct %(name)s *tmp, '
' struct evbuffer *evbuf)\n' ' struct evbuffer *evbuf)\n'
'{\n' '{\n'
' uint32_t tag;\n' ' ev_uint32_t tag;\n'
' while (EVBUFFER_LENGTH(evbuf) > 0) {\n' ' while (EVBUFFER_LENGTH(evbuf) > 0) {\n'
' if (evtag_peek(evbuf, &tag) == -1)\n' ' if (evtag_peek(evbuf, &tag) == -1)\n'
' return (-1);\n' ' return (-1);\n'
@ -275,9 +275,9 @@ int evtag_unmarshal_%(name)s(struct evbuffer *, uint32_t,
print >>file, ( print >>file, (
'int\n' 'int\n'
'evtag_unmarshal_%(name)s(struct evbuffer *evbuf, ' 'evtag_unmarshal_%(name)s(struct evbuffer *evbuf, '
'uint32_t need_tag, struct %(name)s *msg)\n' 'ev_uint32_t need_tag, struct %(name)s *msg)\n'
'{\n' '{\n'
' uint32_t tag;\n' ' ev_uint32_t tag;\n'
' int res = -1;\n' ' int res = -1;\n'
'\n' '\n'
' struct evbuffer *tmp = evbuffer_new();\n' ' struct evbuffer *tmp = evbuffer_new();\n'
@ -299,7 +299,7 @@ int evtag_unmarshal_%(name)s(struct evbuffer *, uint32_t,
# Complete message marshaling # Complete message marshaling
print >>file, ( print >>file, (
'void\n' 'void\n'
'evtag_marshal_%(name)s(struct evbuffer *evbuf, uint32_t tag, ' 'evtag_marshal_%(name)s(struct evbuffer *evbuf, ev_uint32_t tag, '
'const struct %(name)s *msg)\n' 'const struct %(name)s *msg)\n'
'{\n' '{\n'
' struct evbuffer *_buf = evbuffer_new();\n' ' struct evbuffer *_buf = evbuffer_new();\n'
@ -476,7 +476,7 @@ class EntryBytes(Entry):
Entry.__init__(self, type, name, tag) Entry.__init__(self, type, name, tag)
self._length = length self._length = length
self._ctype = 'uint8_t' self._ctype = 'ev_uint8_t'
def GetInitializer(self): def GetInitializer(self):
return "NULL" return "NULL"
@ -499,7 +499,7 @@ class EntryBytes(Entry):
return code return code
def Declaration(self): def Declaration(self):
dcl = ['uint8_t %s_data[%s];' % (self._name, self._length)] dcl = ['ev_uint8_t %s_data[%s];' % (self._name, self._length)]
return dcl return dcl
@ -576,7 +576,7 @@ class EntryInt(Entry):
Entry.__init__(self, type, name, tag) Entry.__init__(self, type, name, tag)
self._can_be_array = 1 self._can_be_array = 1
self._ctype = 'uint32_t' self._ctype = 'ev_uint32_t'
def GetInitializer(self): def GetInitializer(self):
return "0" return "0"
@ -610,7 +610,7 @@ class EntryInt(Entry):
return code return code
def Declaration(self): def Declaration(self):
dcl = ['uint32_t %s_data;' % self._name] dcl = ['ev_uint32_t %s_data;' % self._name]
return dcl return dcl
@ -904,7 +904,7 @@ class EntryVarBytes(Entry):
# Init base class # Init base class
Entry.__init__(self, type, name, tag) Entry.__init__(self, type, name, tag)
self._ctype = 'uint8_t *' self._ctype = 'ev_uint8_t *'
def GetInitializer(self): def GetInitializer(self):
return "NULL" return "NULL"
@ -917,12 +917,12 @@ class EntryVarBytes(Entry):
return [ '%(varname)s = NULL;' % { 'varname' : varname } ] return [ '%(varname)s = NULL;' % { 'varname' : varname } ]
def GetDeclaration(self, funcname): def GetDeclaration(self, funcname):
code = [ 'int %s(struct %s *, %s *, uint32_t *);' % ( code = [ 'int %s(struct %s *, %s *, ev_uint32_t *);' % (
funcname, self._struct.Name(), self._ctype ) ] funcname, self._struct.Name(), self._ctype ) ]
return code return code
def AssignDeclaration(self, funcname): def AssignDeclaration(self, funcname):
code = [ 'int %s(struct %s *, const %s, uint32_t);' % ( code = [ 'int %s(struct %s *, const %s, ev_uint32_t);' % (
funcname, self._struct.Name(), self._ctype ) ] funcname, self._struct.Name(), self._ctype ) ]
return code return code
@ -930,7 +930,7 @@ class EntryVarBytes(Entry):
name = self._name name = self._name
code = [ 'int', code = [ 'int',
'%s_%s_assign(struct %s *msg, ' '%s_%s_assign(struct %s *msg, '
'const %s value, uint32_t len)' % ( 'const %s value, ev_uint32_t len)' % (
self._struct.Name(), name, self._struct.Name(), name,
self._struct.Name(), self._ctype), self._struct.Name(), self._ctype),
'{', '{',
@ -949,7 +949,7 @@ class EntryVarBytes(Entry):
def CodeGet(self): def CodeGet(self):
name = self._name name = self._name
code = [ 'int', code = [ 'int',
'%s_%s_get(struct %s *msg, %s *value, uint32_t *plen)' % ( '%s_%s_get(struct %s *msg, %s *value, ev_uint32_t *plen)' % (
self._struct.Name(), name, self._struct.Name(), name,
self._struct.Name(), self._ctype), self._struct.Name(), self._ctype),
'{', '{',
@ -1010,8 +1010,8 @@ class EntryVarBytes(Entry):
return code return code
def Declaration(self): def Declaration(self):
dcl = ['uint8_t *%s_data;' % self._name, dcl = ['ev_uint8_t *%s_data;' % self._name,
'uint32_t %s_length;' % self._name] 'ev_uint32_t %s_length;' % self._name]
return dcl return dcl

View File

@ -65,9 +65,9 @@
#include "log.h" #include "log.h"
#include "mm-internal.h" #include "mm-internal.h"
int evtag_decode_int(uint32_t *pnumber, struct evbuffer *evbuf); int evtag_decode_int(ev_uint32_t *pnumber, struct evbuffer *evbuf);
int evtag_encode_tag(struct evbuffer *evbuf, uint32_t tag); int evtag_encode_tag(struct evbuffer *evbuf, ev_uint32_t tag);
int evtag_decode_tag(uint32_t *ptag, struct evbuffer *evbuf); int evtag_decode_tag(ev_uint32_t *ptag, struct evbuffer *evbuf);
static struct evbuffer *_buf; /* not thread safe */ static struct evbuffer *_buf; /* not thread safe */
@ -88,10 +88,10 @@ evtag_init(void)
*/ */
void void
encode_int(struct evbuffer *evbuf, uint32_t number) encode_int(struct evbuffer *evbuf, ev_uint32_t number)
{ {
int off = 1, nibbles = 0; int off = 1, nibbles = 0;
uint8_t data[5]; ev_uint8_t data[5];
memset(data, 0, sizeof(data)); memset(data, 0, sizeof(data));
while (number) { while (number) {
@ -119,14 +119,14 @@ encode_int(struct evbuffer *evbuf, uint32_t number)
*/ */
int int
evtag_encode_tag(struct evbuffer *evbuf, uint32_t tag) evtag_encode_tag(struct evbuffer *evbuf, ev_uint32_t tag)
{ {
int bytes = 0; int bytes = 0;
uint8_t data[5]; ev_uint8_t data[5];
memset(data, 0, sizeof(data)); memset(data, 0, sizeof(data));
do { do {
uint8_t lower = tag & 0x7f; ev_uint8_t lower = tag & 0x7f;
tag >>= 7; tag >>= 7;
if (tag) if (tag)
@ -142,15 +142,15 @@ evtag_encode_tag(struct evbuffer *evbuf, uint32_t tag)
} }
static int static int
decode_tag_internal(uint32_t *ptag, struct evbuffer *evbuf, int dodrain) decode_tag_internal(ev_uint32_t *ptag, struct evbuffer *evbuf, int dodrain)
{ {
uint32_t number = 0; ev_uint32_t number = 0;
uint8_t *data = EVBUFFER_DATA(evbuf); ev_uint8_t *data = EVBUFFER_DATA(evbuf);
int len = EVBUFFER_LENGTH(evbuf); int len = EVBUFFER_LENGTH(evbuf);
int count = 0, shift = 0, done = 0; int count = 0, shift = 0, done = 0;
while (count++ < len) { while (count++ < len) {
uint8_t lower = *data++; ev_uint8_t lower = *data++;
number |= (lower & 0x7f) << shift; number |= (lower & 0x7f) << shift;
shift += 7; shift += 7;
@ -173,7 +173,7 @@ decode_tag_internal(uint32_t *ptag, struct evbuffer *evbuf, int dodrain)
} }
int int
evtag_decode_tag(uint32_t *ptag, struct evbuffer *evbuf) evtag_decode_tag(ev_uint32_t *ptag, struct evbuffer *evbuf)
{ {
return (decode_tag_internal(ptag, evbuf, 1 /* dodrain */)); return (decode_tag_internal(ptag, evbuf, 1 /* dodrain */));
} }
@ -185,8 +185,8 @@ evtag_decode_tag(uint32_t *ptag, struct evbuffer *evbuf)
*/ */
void void
evtag_marshal(struct evbuffer *evbuf, uint32_t tag, evtag_marshal(struct evbuffer *evbuf, ev_uint32_t tag,
const void *data, uint32_t len) const void *data, ev_uint32_t len)
{ {
evtag_encode_tag(evbuf, tag); evtag_encode_tag(evbuf, tag);
encode_int(evbuf, len); encode_int(evbuf, len);
@ -195,7 +195,7 @@ evtag_marshal(struct evbuffer *evbuf, uint32_t tag,
/* Marshaling for integers */ /* Marshaling for integers */
void void
evtag_marshal_int(struct evbuffer *evbuf, uint32_t tag, uint32_t integer) evtag_marshal_int(struct evbuffer *evbuf, ev_uint32_t tag, ev_uint32_t integer)
{ {
evbuffer_drain(_buf, EVBUFFER_LENGTH(_buf)); evbuffer_drain(_buf, EVBUFFER_LENGTH(_buf));
encode_int(_buf, integer); encode_int(_buf, integer);
@ -206,13 +206,13 @@ evtag_marshal_int(struct evbuffer *evbuf, uint32_t tag, uint32_t integer)
} }
void void
evtag_marshal_string(struct evbuffer *buf, uint32_t tag, const char *string) evtag_marshal_string(struct evbuffer *buf, ev_uint32_t tag, const char *string)
{ {
evtag_marshal(buf, tag, string, strlen(string)); evtag_marshal(buf, tag, string, strlen(string));
} }
void void
evtag_marshal_timeval(struct evbuffer *evbuf, uint32_t tag, struct timeval *tv) evtag_marshal_timeval(struct evbuffer *evbuf, ev_uint32_t tag, struct timeval *tv)
{ {
evbuffer_drain(_buf, EVBUFFER_LENGTH(_buf)); evbuffer_drain(_buf, EVBUFFER_LENGTH(_buf));
@ -224,10 +224,10 @@ evtag_marshal_timeval(struct evbuffer *evbuf, uint32_t tag, struct timeval *tv)
} }
static int static int
decode_int_internal(uint32_t *pnumber, struct evbuffer *evbuf, int dodrain) decode_int_internal(ev_uint32_t *pnumber, struct evbuffer *evbuf, int dodrain)
{ {
uint32_t number = 0; ev_uint32_t number = 0;
uint8_t *data = EVBUFFER_DATA(evbuf); ev_uint8_t *data = EVBUFFER_DATA(evbuf);
int len = EVBUFFER_LENGTH(evbuf); int len = EVBUFFER_LENGTH(evbuf);
int nibbles = 0; int nibbles = 0;
@ -257,19 +257,19 @@ decode_int_internal(uint32_t *pnumber, struct evbuffer *evbuf, int dodrain)
} }
int int
evtag_decode_int(uint32_t *pnumber, struct evbuffer *evbuf) evtag_decode_int(ev_uint32_t *pnumber, struct evbuffer *evbuf)
{ {
return (decode_int_internal(pnumber, evbuf, 1) == -1 ? -1 : 0); return (decode_int_internal(pnumber, evbuf, 1) == -1 ? -1 : 0);
} }
int int
evtag_peek(struct evbuffer *evbuf, uint32_t *ptag) evtag_peek(struct evbuffer *evbuf, ev_uint32_t *ptag)
{ {
return (decode_tag_internal(ptag, evbuf, 0 /* dodrain */)); return (decode_tag_internal(ptag, evbuf, 0 /* dodrain */));
} }
int int
evtag_peek_length(struct evbuffer *evbuf, uint32_t *plength) evtag_peek_length(struct evbuffer *evbuf, ev_uint32_t *plength)
{ {
struct evbuffer tmp; struct evbuffer tmp;
int res, len; int res, len;
@ -292,7 +292,7 @@ evtag_peek_length(struct evbuffer *evbuf, uint32_t *plength)
} }
int int
evtag_payload_length(struct evbuffer *evbuf, uint32_t *plength) evtag_payload_length(struct evbuffer *evbuf, ev_uint32_t *plength)
{ {
struct evbuffer tmp; struct evbuffer tmp;
int res, len; int res, len;
@ -315,7 +315,7 @@ evtag_payload_length(struct evbuffer *evbuf, uint32_t *plength)
int int
evtag_consume(struct evbuffer *evbuf) evtag_consume(struct evbuffer *evbuf)
{ {
uint32_t len; ev_uint32_t len;
if (decode_tag_internal(NULL, evbuf, 1 /* dodrain */) == -1) if (decode_tag_internal(NULL, evbuf, 1 /* dodrain */) == -1)
return (-1); return (-1);
if (evtag_decode_int(&len, evbuf) == -1) if (evtag_decode_int(&len, evbuf) == -1)
@ -328,10 +328,10 @@ evtag_consume(struct evbuffer *evbuf)
/* Reads the data type from an event buffer */ /* Reads the data type from an event buffer */
int int
evtag_unmarshal(struct evbuffer *src, uint32_t *ptag, struct evbuffer *dst) evtag_unmarshal(struct evbuffer *src, ev_uint32_t *ptag, struct evbuffer *dst)
{ {
uint32_t len; ev_uint32_t len;
uint32_t integer; ev_uint32_t integer;
if (decode_tag_internal(ptag, src, 1 /* dodrain */) == -1) if (decode_tag_internal(ptag, src, 1 /* dodrain */) == -1)
return (-1); return (-1);
@ -353,12 +353,12 @@ evtag_unmarshal(struct evbuffer *src, uint32_t *ptag, struct evbuffer *dst)
/* Marshaling for integers */ /* Marshaling for integers */
int int
evtag_unmarshal_int(struct evbuffer *evbuf, uint32_t need_tag, evtag_unmarshal_int(struct evbuffer *evbuf, ev_uint32_t need_tag,
uint32_t *pinteger) ev_uint32_t *pinteger)
{ {
uint32_t tag; ev_uint32_t tag;
uint32_t len; ev_uint32_t len;
uint32_t integer; ev_uint32_t integer;
if (decode_tag_internal(&tag, evbuf, 1 /* dodrain */) == -1) if (decode_tag_internal(&tag, evbuf, 1 /* dodrain */) == -1)
return (-1); return (-1);
@ -383,10 +383,10 @@ evtag_unmarshal_int(struct evbuffer *evbuf, uint32_t need_tag,
/* Unmarshal a fixed length tag */ /* Unmarshal a fixed length tag */
int int
evtag_unmarshal_fixed(struct evbuffer *src, uint32_t need_tag, void *data, evtag_unmarshal_fixed(struct evbuffer *src, ev_uint32_t need_tag, void *data,
size_t len) size_t len)
{ {
uint32_t tag; ev_uint32_t tag;
/* Initialize this event buffer so that we can read into it */ /* Initialize this event buffer so that we can read into it */
evbuffer_drain(_buf, EVBUFFER_LENGTH(_buf)); evbuffer_drain(_buf, EVBUFFER_LENGTH(_buf));
@ -403,10 +403,10 @@ evtag_unmarshal_fixed(struct evbuffer *src, uint32_t need_tag, void *data,
} }
int int
evtag_unmarshal_string(struct evbuffer *evbuf, uint32_t need_tag, evtag_unmarshal_string(struct evbuffer *evbuf, ev_uint32_t need_tag,
char **pstring) char **pstring)
{ {
uint32_t tag; ev_uint32_t tag;
evbuffer_drain(_buf, EVBUFFER_LENGTH(_buf)); evbuffer_drain(_buf, EVBUFFER_LENGTH(_buf));
@ -422,11 +422,11 @@ evtag_unmarshal_string(struct evbuffer *evbuf, uint32_t need_tag,
} }
int int
evtag_unmarshal_timeval(struct evbuffer *evbuf, uint32_t need_tag, evtag_unmarshal_timeval(struct evbuffer *evbuf, ev_uint32_t need_tag,
struct timeval *ptv) struct timeval *ptv)
{ {
uint32_t tag; ev_uint32_t tag;
uint32_t integer; ev_uint32_t integer;
evbuffer_drain(_buf, EVBUFFER_LENGTH(_buf)); evbuffer_drain(_buf, EVBUFFER_LENGTH(_buf));
if (evtag_unmarshal(evbuf, &tag, _buf) == -1 || tag != need_tag) if (evtag_unmarshal(evbuf, &tag, _buf) == -1 || tag != need_tag)

View File

@ -42,28 +42,65 @@ extern "C" {
#ifdef _EVENT_HAVE_SYS_TIME_H #ifdef _EVENT_HAVE_SYS_TIME_H
#include <sys/time.h> #include <sys/time.h>
#endif #endif
#ifdef _EVENT_HAVE_STDINT_H #ifdef _EVENT_HAVE_STDINT_H
#include <stdint.h> #include <stdint.h>
#elif defined(_EVENT_HAVE_INTTYPES_H)
#include <inttypes.h>
#endif
#ifdef _EVENT_HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef _EVENT_HAVE_UINT64_T
#define ev_uint64_t uint64_t #define ev_uint64_t uint64_t
#define ev_uint32_t uint32_t
#define ev_uint16_t uint16_t
#define ev_uint8_t uint8_t
#define ev_int64_t int64_t #define ev_int64_t int64_t
#define ev_int32_t int32_t #define ev_int32_t int32_t
#define ev_int16_t int16_t #define ev_int16_t int16_t
#define ev_int8_t int8_t #define ev_int8_t int8_t
#elif defined(WIN32) #elif defined(WIN32)
#define ev_uint64_t __uint64_t #define ev_uint64_t __uint64_t
#define ev_uint32_t unsigned int #elif _EVENT_SIZEOF_LONG_LONG == 8
#define ev_uint16_t unsigned short #define ev_uint64_t unsigned long long
#define ev_uint8_t unsigned char #elif _EVENT_SIZEOF_LONG == 8
#define ev_uint64_t unsigned long
#else
#error "No way to define ev_uint64_t"
#define ev_int64_t __int64_t #define ev_int64_t __int64_t
#define ev_int32_t signed int #define ev_int32_t signed int
#define ev_int16_t signed short #define ev_int16_t signed short
#define ev_int8_t signed char #define ev_int8_t signed char
#endif #endif
#ifdef _EVENT_HAVE_UINT32_T
#define ev_uint32_t uint32_t
#elif defined(WIN32)
#define ev_uint32_t unsigned int
#elif _EVENT_SIZEOF_LONG == 4
#define ev_uint32_t unsigned long
#elif _EVENT_SIZEOF_INT == 4
#define ev_uint32_t unsigned int
#else
#error "No way to define ev_uint32_t"
#endif
#ifdef _EVENT_HAVE_UINT16_T
#define ev_uint16_t uint16_t
#elif defined(WIN32)
#define ev_uint16_t unsigned short
#elif _EVENT_SIZEOF_INT == 2
#define ev_uint16_t unsigned int
#elif _EVENT_SIZEOF_SHORT == 2
#define ev_uint16_t unsigned short
#else
#error "No way to define ev_uint16_t"
#endif
#ifdef _EVENT_HAVE_UINT16_T
#define ev_uint8_t uint8_t
#else
#define ev_uint8_t unsigned char
#endif
#ifdef WIN32 #ifdef WIN32
/** Type to hold the output of "socket()" or "accept()". On Windows, this is /** Type to hold the output of "socket()" or "accept()". On Windows, this is
* an intptr_t; elsewhere, it is an int. */ * an intptr_t; elsewhere, it is an int. */

View File

@ -1234,9 +1234,9 @@ test_multiple_events_for_same_fd(void)
cleanup_test(); cleanup_test();
} }
int evtag_decode_int(uint32_t *pnumber, struct evbuffer *evbuf); int evtag_decode_int(ev_uint32_t *pnumber, struct evbuffer *evbuf);
int evtag_encode_tag(struct evbuffer *evbuf, uint32_t number); int evtag_encode_tag(struct evbuffer *evbuf, ev_uint32_t number);
int evtag_decode_tag(uint32_t *pnumber, struct evbuffer *evbuf); int evtag_decode_tag(ev_uint32_t *pnumber, struct evbuffer *evbuf);
static void static void
read_once_cb(int fd, short event, void *arg) read_once_cb(int fd, short event, void *arg)
@ -1287,10 +1287,10 @@ static void
evtag_int_test(void) evtag_int_test(void)
{ {
struct evbuffer *tmp = evbuffer_new(); struct evbuffer *tmp = evbuffer_new();
uint32_t integers[TEST_MAX_INT] = { ev_uint32_t integers[TEST_MAX_INT] = {
0xaf0, 0x1000, 0x1, 0xdeadbeef, 0x00, 0xbef000 0xaf0, 0x1000, 0x1, 0xdeadbeef, 0x00, 0xbef000
}; };
uint32_t integer; ev_uint32_t integer;
int i; int i;
for (i = 0; i < TEST_MAX_INT; i++) { for (i = 0; i < TEST_MAX_INT; i++) {
@ -1370,10 +1370,10 @@ static void
evtag_tag_encoding(void) evtag_tag_encoding(void)
{ {
struct evbuffer *tmp = evbuffer_new(); struct evbuffer *tmp = evbuffer_new();
uint32_t integers[TEST_MAX_INT] = { ev_uint32_t integers[TEST_MAX_INT] = {
0xaf0, 0x1000, 0x1, 0xdeadbeef, 0x00, 0xbef000 0xaf0, 0x1000, 0x1, 0xdeadbeef, 0x00, 0xbef000
}; };
uint32_t integer; ev_uint32_t integer;
int i; int i;
for (i = 0; i < TEST_MAX_INT; i++) { for (i = 0; i < TEST_MAX_INT; i++) {
@ -1428,7 +1428,7 @@ rpc_test(void)
struct run *run; struct run *run;
struct evbuffer *tmp = evbuffer_new(); struct evbuffer *tmp = evbuffer_new();
struct timeval tv_start, tv_end; struct timeval tv_start, tv_end;
uint32_t tag; ev_uint32_t tag;
int i; int i;
fprintf(stdout, "Testing RPC: "); fprintf(stdout, "Testing RPC: ");
@ -1460,7 +1460,7 @@ rpc_test(void)
} }
EVTAG_ASSIGN(run, how, "very fast but with some data in it"); EVTAG_ASSIGN(run, how, "very fast but with some data in it");
EVTAG_ASSIGN(run, fixed_bytes, EVTAG_ASSIGN(run, fixed_bytes,
(uint8_t*)"012345678901234567890123"); (ev_uint8_t*)"012345678901234567890123");
if (EVTAG_ADD(run, notes, "this is my note") == NULL) { if (EVTAG_ADD(run, notes, "this is my note") == NULL) {
fprintf(stderr, "Failed to add note.\n"); fprintf(stderr, "Failed to add note.\n");
@ -1550,7 +1550,7 @@ rpc_test(void)
} }
for (i = 0; i < 3; ++i) { for (i = 0; i < 3; ++i) {
uint32_t res; ev_uint32_t res;
if (EVTAG_GET(attack, how_often, i, &res) == -1) { if (EVTAG_GET(attack, how_often, i, &res) == -1) {
fprintf(stderr, "Cannot get %dth how_often msg.\n", i); fprintf(stderr, "Cannot get %dth how_often msg.\n", i);
exit(1); exit(1);