fix compilation with vc++

SVN revision: 44284
This commit is contained in:
Vincent Torri 2009-12-08 17:34:57 +00:00
parent b6183fe571
commit 4d3cd53a6f
4 changed files with 33 additions and 8 deletions

View File

@ -67,11 +67,20 @@
#define sEXPMAX 19 /* maximum name length for file version <= 6 */ #define sEXPMAX 19 /* maximum name length for file version <= 6 */
#define sNAMEMAX 31 /* maximum name length of symbol name */ #define sNAMEMAX 31 /* maximum name length of symbol name */
#if defined (_MSC_VER) || (defined (__SUNPRO_C) && __SUNPRO_C < 0x5100)
# pragma pack(1)
# define EMBRYO_STRUCT_PACKED
#elif defined (__GNUC__) || (defined (__SUNPRO_C) && __SUNPRO_C >= 0x5100)
# define EMBRYO_STRUCT_PACKED __attribute__((packed))
#else
# define EMBRYO_STRUCT_PACKED
#endif
typedef struct tagAMX_FUNCSTUB typedef struct tagAMX_FUNCSTUB
{ {
unsigned int address; unsigned int address;
char name[sEXPMAX + 1]; char name[sEXPMAX + 1];
} __attribute__((packed)) AMX_FUNCSTUB; } EMBRYO_STRUCT_PACKED AMX_FUNCSTUB;
/* The AMX structure is the internal structure for many functions. Not all /* The AMX structure is the internal structure for many functions. Not all
* fields are valid at all times; many fields are cached in local variables. * fields are valid at all times; many fields are cached in local variables.
@ -108,7 +117,7 @@
cell reset_stk ; cell reset_stk ;
cell reset_hea ; cell reset_hea ;
cell *syscall_d; /* relocated value/address for the SYSCALL.D opcode */ cell *syscall_d; /* relocated value/address for the SYSCALL.D opcode */
} __attribute__((packed)) AMX; } EMBRYO_STRUCT_PACKED AMX;
/* The AMX_HEADER structure is both the memory format as the file format. The /* The AMX_HEADER structure is both the memory format as the file format. The
* structure is used internaly. * structure is used internaly.
@ -132,7 +141,12 @@
int pubvars ; /* the "public variables" table */ int pubvars ; /* the "public variables" table */
int tags ; /* the "public tagnames" table */ int tags ; /* the "public tagnames" table */
int nametable ; /* name table, file version 7 only */ int nametable ; /* name table, file version 7 only */
} __attribute__((packed)) AMX_HEADER; } EMBRYO_STRUCT_PACKED AMX_HEADER;
#if defined _MSC_VER || (defined (__SUNPRO_C) && __SUNPRO_C < 0x5100)
# pragma pack()
#endif
#define AMX_MAGIC 0xf1e0 #define AMX_MAGIC 0xf1e0
enum enum

View File

@ -8,20 +8,23 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <unistd.h>
#include <string.h> #include <string.h>
#include <sys/types.h> #include <sys/types.h>
#include <dirent.h> #include <dirent.h>
#include <sys/stat.h> #include <sys/stat.h>
#include <sys/time.h> #include <sys/time.h>
#include <sys/param.h>
#include <math.h> #include <math.h>
#include <fnmatch.h> #include <fnmatch.h>
#include <limits.h> #include <limits.h>
#include <ctype.h> #include <ctype.h>
#include <time.h> #include <time.h>
#include <dirent.h> #include <dirent.h>
#include <dlfcn.h> /* dlopen,dlclose,etc */
#ifndef _MSC_VER
# include <unistd.h>
# include <sys/param.h>
#endif
#ifdef HAVE_EVIL #ifdef HAVE_EVIL
# include <Evil.h> /* for realpath */ # include <Evil.h> /* for realpath */
#else #else

View File

@ -39,7 +39,11 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <unistd.h>
#ifndef _MSC_VER
# include <unistd.h>
#endif
#ifdef HAVE_EVIL #ifdef HAVE_EVIL
# include <Evil.h> # include <Evil.h>
#endif /* HAVE_EVIL */ #endif /* HAVE_EVIL */

View File

@ -33,11 +33,15 @@
# include <config.h> # include <config.h>
#endif #endif
#include <unistd.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <stdarg.h> #include <stdarg.h>
#include <string.h> #include <string.h>
#ifndef _MSC_VER
# include <unistd.h>
#endif
#include "embryo_cc_sc.h" #include "embryo_cc_sc.h"
#include "embryo_cc_sc5.scp" #include "embryo_cc_sc5.scp"