diff options
author | vlm <vlm@59561ff5-6e30-0410-9f3c-9617f08c8826> | 2006-11-21 10:38:50 +0000 |
---|---|---|
committer | vlm <vlm@59561ff5-6e30-0410-9f3c-9617f08c8826> | 2006-11-21 10:38:50 +0000 |
commit | 7d39839fed87da011d486285acedbca11674a6a1 (patch) | |
tree | 1c06788a190d8883004af2e202fdc46c48445360 | |
parent | 95eac35a1b80dc40cd376527281b5711f4f75b9d (diff) |
ntohl
git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@1269 59561ff5-6e30-0410-9f3c-9617f08c8826
-rw-r--r-- | skeletons/asn_system.h | 9 | ||||
-rw-r--r-- | skeletons/constr_SET.c | 8 |
2 files changed, 10 insertions, 7 deletions
diff --git a/skeletons/asn_system.h b/skeletons/asn_system.h index 6dcca0eb..f920efc9 100644 --- a/skeletons/asn_system.h +++ b/skeletons/asn_system.h @@ -26,6 +26,12 @@ #define snprintf _snprintf #define vsnprintf _vsnprintf +/* To avoid linking with ws2_32.lib, here's the definition of ntohl() */ +#define sys_ntohl(l) ((((l) << 24) & 0xff000000) + | (((l) << 16) & 0xff0000) + | (((l) << 8) & 0xff00) + | ((l) & 0xff)) + #ifdef _MSC_VER /* MSVS.Net */ #ifndef __cplusplus #define inline __inline @@ -74,6 +80,9 @@ typedef unsigned int uint32_t; #endif /* defined(sun) */ #endif +#include <netinet/in.h> /* for ntohl() */ +#define sys_ntohl(foo) ntohl(foo) + #endif /* defined(__vxworks) */ #endif /* WIN32 */ diff --git a/skeletons/constr_SET.c b/skeletons/constr_SET.c index 2c5d5d0b..ecf56617 100644 --- a/skeletons/constr_SET.c +++ b/skeletons/constr_SET.c @@ -6,12 +6,6 @@ #include <asn_internal.h> #include <constr_SET.h> -#ifndef WIN32 -#include <netinet/in.h> /* for ntohl() */ -#else -#include <winsock2.h> /* for ntohl() */ -#endif - /* Check that all the mandatory members are present */ static int _SET_is_populated(asn_TYPE_descriptor_t *td, void *st); @@ -411,7 +405,7 @@ _SET_is_populated(asn_TYPE_descriptor_t *td, void *st) { midx = edx/(8 * sizeof(specs->_mandatory_elements[0])); pres = ((unsigned int *)((char *)st+specs->pres_offset))[midx]; - must = ntohl(specs->_mandatory_elements[midx]); + must = sys_ntohl(specs->_mandatory_elements[midx]); if((pres & must) == must) { /* |