diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2010-04-22 14:38:12 +0100 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2010-04-22 14:38:12 +0100 |
commit | 3a12d05433153d5c7c84f85af6b5039fbcdd1d09 (patch) | |
tree | 2a5922d7681f5d21700d152dc09909c2809e28c9 /runtime | |
parent | f902c9ca4891dcd65fd1f4b8bba0d23c75451dcd (diff) | |
download | rsyslog-3a12d05433153d5c7c84f85af6b5039fbcdd1d09.tar.gz rsyslog-3a12d05433153d5c7c84f85af6b5039fbcdd1d09.tar.xz rsyslog-3a12d05433153d5c7c84f85af6b5039fbcdd1d09.zip |
solved alignment errors on Solaris Sparc
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/msg.c | 2 | ||||
-rw-r--r-- | runtime/net.c | 8 | ||||
-rw-r--r-- | runtime/rsyslog.h | 28 |
3 files changed, 21 insertions, 17 deletions
diff --git a/runtime/msg.c b/runtime/msg.c index 91057f97..6d7e6a89 100644 --- a/runtime/msg.c +++ b/runtime/msg.c @@ -3048,7 +3048,7 @@ static rsRetVal msgConstructFinalizer(msg_t *pThis) * rgerhards, 2008-01-14 */ static rsRetVal -MsgGetSeverity(obj_t *pThis, int *piSeverity) +MsgGetSeverity(obj_t_ptr pThis, int *piSeverity) { ISOBJ_TYPE_assert(pThis, msg); assert(piSeverity != NULL); diff --git a/runtime/net.c b/runtime/net.c index fe6eef5b..4eb5a3bb 100644 --- a/runtime/net.c +++ b/runtime/net.c @@ -502,8 +502,8 @@ static inline void MaskIP4 (struct in_addr *addr, uint8_t bits) { addr->s_addr &= htonl(0xffffffff << (32 - bits)); } -#define SIN(sa) ((struct sockaddr_in *)(sa)) -#define SIN6(sa) ((struct sockaddr_in6 *)(sa)) +#define SIN(sa) ((struct sockaddr_in *)(void*)(sa)) +#define SIN6(sa) ((struct sockaddr_in6 *)(void*)(sa)) /* This is a cancel-safe getnameinfo() version, because we learned @@ -1165,12 +1165,12 @@ void debugListenInfo(int fd, char *type) switch(sa.sa_family) { case PF_INET: szFamily = "IPv4"; - ipv4 = (struct sockaddr_in*) &sa; + ipv4 = (struct sockaddr_in*)(void*) &sa; port = ntohs(ipv4->sin_port); break; case PF_INET6: szFamily = "IPv6"; - ipv6 = (struct sockaddr_in6*) &sa; + ipv6 = (struct sockaddr_in6*)(void*) &sa; port = ntohs(ipv6->sin6_port); break; default: diff --git a/runtime/rsyslog.h b/runtime/rsyslog.h index acc31a99..b7117029 100644 --- a/runtime/rsyslog.h +++ b/runtime/rsyslog.h @@ -60,12 +60,8 @@ #endif -/* under Solaris (actually only SPARC), we need to redefine some types - * to be void, so that we get void* pointers. Otherwise, we will see -* alignment errors. -*/ - /* define some base data types */ + typedef unsigned char uchar;/* get rid of the unhandy "unsigned char" */ typedef struct thrdInfo thrdInfo_t; typedef struct obj_s obj_t; @@ -83,13 +79,6 @@ typedef struct nsd_gsspi_s nsd_gsspi_t; typedef struct nsd_nss_s nsd_nss_t; typedef struct nsdsel_ptcp_s nsdsel_ptcp_t; typedef struct nsdsel_gtls_s nsdsel_gtls_t; -#ifdef OS_SOLARIS - typedef void nsd_t; - typedef void nsdsel_t; -#else - typedef obj_t nsd_t; - typedef obj_t nsdsel_t; -#endif typedef struct msg msg_t; typedef struct prop_s prop_t; typedef struct interface_s interface_t; @@ -108,6 +97,21 @@ typedef rsRetVal (*prsf_t)(struct vmstk_s*, int); /* pointer to a RainerScript f typedef struct tcpLstnPortList_s tcpLstnPortList_t; // TODO: rename? typedef struct strmLstnPortList_s strmLstnPortList_t; // TODO: rename? +/* under Solaris (actually only SPARC), we need to redefine some types + * to be void, so that we get void* pointers. Otherwise, we will see + * alignment errors. + */ +#ifdef OS_SOLARIS + typedef void * obj_t_ptr; + typedef void nsd_t; + typedef void nsdsel_t; +#else + typedef obj_t obj_t_ptr; + typedef obj_t nsd_t; + typedef obj_t nsdsel_t; +#endif + + /* some universal 64 bit define... */ typedef long long int64; typedef long long unsigned uint64; |