Rework Windows build for component-based directory layout

Adapt all vcxproj files and solution to the new directory structure
(src/ driver, lib/ shared library, modules/engine/ game logic,
modules/{comsys,mail,exp3,sqlproxy,sqlslave}/ loadable modules).

Key changes:
- libmux.dll exports utility symbols via LIBMUX_API macro
  (__declspec(dllexport) when BUILDING_LIBMUX, dllimport otherwise)
- LIBMUX_API added to all shared headers: stringutil.h, timeutil.h,
  mathutil.h, utf8tables.h, svdhash.h, svdrand.h, sha1.h, alloc.h,
  dbutil.h, core.h
- Per-file PreprocessorDefinitions in libmux.vcxproj inherit from
  project-level via %(PreprocessorDefinitions)
- Driver factory declarations (CDriverControlFactory,
  CConnectionManagerFactory) guarded with BUILDING_DRIVER
- PCG-XSH-RR-64/32 (pcg32) for Windows (no __int128 needed);
  Unix PCG-XSL-RR-128/64 unchanged
- MSVC portability fixes: _strnicmp, _BitScanForward64, (std::min)(),
  HAVE_WORKING_FORK guards, WINDOWS_FILES/UNIX_FILES ModuleAdd paths
- Remove stubslave.cpp and slave.cpp from netmux.vcxproj (separate
  processes)
- Fix sqlproxy/sqlslave vcxproj relative paths for new layout
- Add ws2_32.lib to engine.vcxproj for socket functions
- Add strcasecmp/strtok_r/strndup compat shims for comsys/mail

Builds successfully: libmux.dll, engine.dll, netmux.exe, exp3.dll,
sqlproxy.dll, sqlslave.dll. Comsys/mail blocked on sqlite3 linking
architecture (need COM-mediated or independent sqlite3 linkage).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Stephen Dennis 2026-03-10 09:38:57 -06:00
parent 8b17644a89
commit 68acbd2eea
33 changed files with 1702 additions and 929 deletions

View file

@ -24,21 +24,21 @@ constexpr int MBUF_SIZE = 400; // Medium
constexpr int PBUF_SIZE = 128; // Pathname
constexpr int SBUF_SIZE = 64; // Small
extern bool g_paranoid_alloc;
void pool_init(int, int);
UTF8* pool_alloc(int poolnum, const UTF8* tag, const UTF8* file, const int line);
UTF8* pool_alloc_lbuf(const UTF8* tag, const UTF8* file, const int line);
void pool_free(int poolnum, UTF8* buf, const UTF8* file, const int line);
void pool_free_lbuf(UTF8* buf, const UTF8* file, const int line);
extern LIBMUX_API bool g_paranoid_alloc;
LIBMUX_API void pool_init(int, int);
LIBMUX_API UTF8* pool_alloc(int poolnum, const UTF8* tag, const UTF8* file, const int line);
LIBMUX_API UTF8* pool_alloc_lbuf(const UTF8* tag, const UTF8* file, const int line);
LIBMUX_API void pool_free(int poolnum, UTF8* buf, const UTF8* file, const int line);
LIBMUX_API void pool_free_lbuf(UTF8* buf, const UTF8* file, const int line);
// alloc_notify_fn — callback for @list buffers output.
// Engine sets this to a function that calls notify().
//
typedef void (*ALLOC_NOTIFY_FN)(dbref player, const UTF8 *text);
extern ALLOC_NOTIFY_FN g_alloc_notify_fn;
extern LIBMUX_API ALLOC_NOTIFY_FN g_alloc_notify_fn;
void list_bufstats(dbref);
void list_buftrace(dbref);
void pool_reset(void);
LIBMUX_API void list_bufstats(dbref);
LIBMUX_API void list_buftrace(dbref);
LIBMUX_API void pool_reset(void);
#define alloc_lbuf(s) pool_alloc_lbuf(T(s), reinterpret_cast<const UTF8 *>(__FILE__), __LINE__)
#define free_lbuf(b) pool_free_lbuf(reinterpret_cast<UTF8 *>(b), reinterpret_cast<const UTF8 *>(__FILE__), __LINE__)

View file

@ -316,6 +316,12 @@ typedef char boolexp_type;
#define DCL_EXPORT __declspec(dllexport)
#define DCL_API __stdcall
#ifdef BUILDING_LIBMUX
#define LIBMUX_API __declspec(dllexport)
#else
#define LIBMUX_API __declspec(dllimport)
#endif
#define LOCALTIME_TIME_T_MIN_VALUE 0
#if (_MSC_VER >= 1400)
// 1600 is Visual C++ 10.0 (2010)
@ -356,6 +362,7 @@ typedef char boolexp_type;
#define DCL_CDECL
#define DCL_EXPORT __attribute__((visibility("default")))
#define DCL_API
#define LIBMUX_API __attribute__((visibility("default")))
#ifndef O_BINARY
#define O_BINARY 0

View file

@ -41,8 +41,8 @@ typedef struct
// Portable file I/O wrappers
//
#define MUX_OPEN_INVALID_HANDLE_VALUE (-1)
bool mux_fopen(FILE **pFile, const UTF8 *filename, const UTF8 *mode);
bool mux_open(int *pfh, const UTF8 *filename, int oflag);
const UTF8 *mux_strerror(int errnum);
LIBMUX_API bool mux_fopen(FILE **pFile, const UTF8 *filename, const UTF8 *mode);
LIBMUX_API bool mux_open(int *pfh, const UTF8 *filename, int oflag);
LIBMUX_API const UTF8 *mux_strerror(int errnum);
#endif // CORE_H

View file

@ -10,9 +10,9 @@
#include <cstdio>
void putref(FILE *f, int ref);
int getref(FILE *f);
void putstring(FILE *f, const UTF8 *s);
void *getstring_noalloc(FILE *f, bool new_strings, size_t *pnBuffer);
LIBMUX_API void putref(FILE *f, int ref);
LIBMUX_API int getref(FILE *f);
LIBMUX_API void putstring(FILE *f, const UTF8 *s);
LIBMUX_API void *getstring_noalloc(FILE *f, bool new_strings, size_t *pnBuffer);
#endif // DBUTIL_H

View file

@ -1637,7 +1637,7 @@ CLinearTimeAbsolute fetch_logouttime(dbref target);
// From strtod.cpp
//
void FLOAT_Initialize(void);
LIBMUX_API void FLOAT_Initialize(void);
// From wiz.cpp
//
@ -1684,8 +1684,11 @@ typedef struct ServerEventsSinkNode
extern ServerEventsSinkNode *g_pServerEventsSinkListHead;
// Driver-side factory classes (modules.cpp).
// Only visible when building the driver (netmux.exe).
#ifdef BUILDING_DRIVER
DEFINE_FACTORY(CConnectionManagerFactory)
DEFINE_FACTORY(CDriverControlFactory)
#endif
#if defined(INLINESQL)
void init_sql(void);

View file

@ -46,39 +46,39 @@ typedef struct
} PARSE_FLOAT_RESULT;
int mux_fpclass(double result);
bool ParseFloat(PARSE_FLOAT_RESULT *pfr, const UTF8 *str, bool bStrict = true);
LIBMUX_API int mux_fpclass(double result);
LIBMUX_API bool ParseFloat(PARSE_FLOAT_RESULT *pfr, const UTF8 *str, bool bStrict = true);
double AddDoubles(int n, double pd[]);
void fval(UTF8 *buff, UTF8 **bufc, double result);
double NearestPretty(double R);
LIBMUX_API double AddDoubles(int n, double pd[]);
LIBMUX_API void fval(UTF8 *buff, UTF8 **bufc, double result);
LIBMUX_API double NearestPretty(double R);
size_t mux_utox(unsigned long uval, UTF8 *buf, bool bUpperCase);
size_t mux_ui64tox(uint64_t uval, UTF8 *buf, bool bUpperCase);
size_t mux_utoa(unsigned long uval, UTF8 *buf);
size_t mux_ui64toa(uint64_t uval, UTF8 *buf);
size_t mux_ltoa(long val, UTF8 *buf);
size_t mux_i64toa(int64_t val, UTF8 *buf);
double mux_atof(const UTF8 *szString, bool bStrict = true);
LIBMUX_API size_t mux_utox(unsigned long uval, UTF8 *buf, bool bUpperCase);
LIBMUX_API size_t mux_ui64tox(uint64_t uval, UTF8 *buf, bool bUpperCase);
LIBMUX_API size_t mux_utoa(unsigned long uval, UTF8 *buf);
LIBMUX_API size_t mux_ui64toa(uint64_t uval, UTF8 *buf);
LIBMUX_API size_t mux_ltoa(long val, UTF8 *buf);
LIBMUX_API size_t mux_i64toa(int64_t val, UTF8 *buf);
LIBMUX_API double mux_atof(const UTF8 *szString, bool bStrict = true);
UTF8 *mux_ltoa_t(long val);
UTF8 *mux_i64toa_t(int64_t val);
UTF8 *mux_ftoa(double r, bool bRounded, int frac);
LIBMUX_API UTF8 *mux_ltoa_t(long val);
LIBMUX_API UTF8 *mux_i64toa_t(int64_t val);
LIBMUX_API UTF8 *mux_ftoa(double r, bool bRounded, int frac);
long mux_atol(const UTF8 *pString);
int64_t mux_atoi64(const UTF8 *pString);
LIBMUX_API long mux_atol(const UTF8 *pString);
LIBMUX_API int64_t mux_atoi64(const UTF8 *pString);
void safe_ltoa(long val, UTF8 *buff, UTF8 **bufc);
void safe_i64toa(int64_t val, UTF8 *buff, UTF8 **bufc);
LIBMUX_API void safe_ltoa(long val, UTF8 *buff, UTF8 **bufc);
LIBMUX_API void safe_i64toa(int64_t val, UTF8 *buff, UTF8 **bufc);
bool is_integer(const UTF8 *str, int *pDigits = nullptr);
bool is_rational(const UTF8 *str);
bool is_real(const UTF8 *str);
LIBMUX_API bool is_integer(const UTF8 *str, int *pDigits = nullptr);
LIBMUX_API bool is_rational(const UTF8 *str);
LIBMUX_API bool is_real(const UTF8 *str);
extern const UTF8 *mux_FPStrings[8];
extern const UTF8 Digits16U[17];
extern const UTF8 Digits16L[17];
extern void safe_hex(uint8_t md[], size_t len, bool bUpper, UTF8 *buff, UTF8 **bufc);
extern LIBMUX_API const UTF8 *mux_FPStrings[8];
extern LIBMUX_API const UTF8 Digits16U[17];
extern LIBMUX_API const UTF8 Digits16L[17];
LIBMUX_API void safe_hex(uint8_t md[], size_t len, bool bUpper, UTF8 *buff, UTF8 **bufc);
// IEEE special-value construction codes (used by MakeSpecialFloat).
//
@ -87,20 +87,20 @@ extern void safe_hex(uint8_t md[], size_t len, bool bUpper, UTF8 *buff, UTF8 **b
#define IEEE_MAKE_PINF 3
#define IEEE_MAKE_NINF 4
double MakeSpecialFloat(int iWhich);
LIBMUX_API double MakeSpecialFloat(int iWhich);
// From strtod.cpp — low-level float-to-string / string-to-float.
//
void mux_FPInit();
void mux_FPSet();
void mux_FPRestore();
double mux_strtod(const UTF8 *s00, UTF8 **se);
double mux_ulp(double);
UTF8 *mux_dtoa(double d, int mode, int ndigits, int *decpt, int *sign, UTF8 **rve);
LIBMUX_API void mux_FPInit();
LIBMUX_API void mux_FPSet();
LIBMUX_API void mux_FPRestore();
LIBMUX_API double mux_strtod(const UTF8 *s00, UTF8 **se);
LIBMUX_API double mux_ulp(double);
LIBMUX_API UTF8 *mux_dtoa(double d, int mode, int ndigits, int *decpt, int *sign, UTF8 **rve);
// Float-to-string precision limit. Server layer sets this from
// mudconf.float_precision during startup. Default -1 means unlimited.
//
extern int g_float_precision;
extern LIBMUX_API int g_float_precision;
#endif // !MATHUTIL_H

View file

@ -617,7 +617,7 @@ struct DRIVER_CONFIG
// reads it. When the engine moves out-of-process (stubslave), this
// export goes away and debug_cmd becomes process-local.
//
extern DCL_EXPORT const UTF8 *g_debug_cmd;
extern LIBMUX_API const UTF8 *g_debug_cmd;
// Game engine — the interface the driver uses to call into the engine.
// In the current in-process build, CGameEngine wraps direct function calls.

View file

@ -16,8 +16,8 @@ typedef struct
#define MUX_SHA1_DIGEST_LENGTH 20
void MUX_SHA1_Init(MUX_SHA_CTX *p);
void MUX_SHA1_Update(MUX_SHA_CTX *p, const UTF8 *buf, size_t n);
void MUX_SHA1_Final(uint8_t md[MUX_SHA1_DIGEST_LENGTH], MUX_SHA_CTX *p);
LIBMUX_API void MUX_SHA1_Init(MUX_SHA_CTX *p);
LIBMUX_API void MUX_SHA1_Update(MUX_SHA_CTX *p, const UTF8 *buf, size_t n);
LIBMUX_API void MUX_SHA1_Final(uint8_t md[MUX_SHA1_DIGEST_LENGTH], MUX_SHA_CTX *p);
#endif // SHA1_H

View file

@ -13,28 +13,28 @@ inline bool isEmpty(const UTF8 *p)
return ((nullptr == p) || ('\0' == p[0]));
}
extern const bool mux_isprint_ascii[256];
extern const bool mux_isprint_cp437[256];
extern const bool mux_isprint_latin1[256];
extern const bool mux_isprint_latin2[256];
extern const bool mux_isdigit[256];
extern const bool mux_isxdigit[256];
extern const bool mux_isazAZ[256];
extern const bool mux_isalnum[256];
extern const bool mux_islower_ascii[256];
extern const bool mux_isupper_ascii[256];
extern const bool mux_isspace[256];
extern const bool mux_issecure[256];
extern const bool mux_isescape[256];
extern const unsigned char mux_hex2dec[256];
extern LIBMUX_API const bool mux_isprint_ascii[256];
extern LIBMUX_API const bool mux_isprint_cp437[256];
extern LIBMUX_API const bool mux_isprint_latin1[256];
extern LIBMUX_API const bool mux_isprint_latin2[256];
extern LIBMUX_API const bool mux_isdigit[256];
extern LIBMUX_API const bool mux_isxdigit[256];
extern LIBMUX_API const bool mux_isazAZ[256];
extern LIBMUX_API const bool mux_isalnum[256];
extern LIBMUX_API const bool mux_islower_ascii[256];
extern LIBMUX_API const bool mux_isupper_ascii[256];
extern LIBMUX_API const bool mux_isspace[256];
extern LIBMUX_API const bool mux_issecure[256];
extern LIBMUX_API const bool mux_isescape[256];
extern LIBMUX_API const unsigned char mux_hex2dec[256];
// mux_toupper_ascii[] and mux_tolower_ascii[] handle ASCII A-Z/a-z only.
// Use mux_toupper()/mux_tolower() (state-machine transforms) for Unicode.
// These ASCII tables are appropriate only when the input is known to be ASCII
// (e.g., format modifiers, month abbreviations, %VA-%VZ attribute indices).
//
extern const unsigned char mux_toupper_ascii[256];
extern const unsigned char mux_tolower_ascii[256];
extern const UTF8 TableATOI[16][10];
extern LIBMUX_API const unsigned char mux_toupper_ascii[256];
extern LIBMUX_API const unsigned char mux_tolower_ascii[256];
extern LIBMUX_API const UTF8 TableATOI[16][10];
#define UTF8_SIZE1 1
#define UTF8_SIZE2 2
@ -42,12 +42,12 @@ extern const UTF8 TableATOI[16][10];
#define UTF8_SIZE4 4
#define UTF8_CONTINUE 5
#define UTF8_ILLEGAL 6
extern const unsigned char utf8_FirstByte[256];
extern const UTF8 *cp437_utf8[256];
extern LIBMUX_API const unsigned char utf8_FirstByte[256];
extern LIBMUX_API const UTF8 *cp437_utf8[256];
#define cp437_utf8(x) (reinterpret_cast<const UTF8 *>(cp437_utf8[static_cast<unsigned char>(x)]))
extern const UTF8 *latin1_utf8[256];
extern LIBMUX_API const UTF8 *latin1_utf8[256];
#define latin1_utf8(x) (reinterpret_cast<const UTF8 *>(latin1_utf8[static_cast<unsigned char>(x)]))
extern const UTF8 *latin2_utf8[256];
extern LIBMUX_API const UTF8 *latin2_utf8[256];
#define latin2_utf8(x) (reinterpret_cast<const UTF8 *>(latin2_utf8[static_cast<unsigned char>(x)]))
#define UNI_EOF ((UTF32)-1)
@ -871,35 +871,35 @@ inline bool mux_iskatakana(const unsigned char *p)
// utf/tr_utf8_ascii.txt
//
const UTF8 *ConvertToAscii(const UTF8 *pString);
LIBMUX_API const UTF8 *ConvertToAscii(const UTF8 *pString);
// utf/tr_utf8_cp437.txt
//
const UTF8 *ConvertToCp437(const UTF8 *pString);
LIBMUX_API const UTF8 *ConvertToCp437(const UTF8 *pString);
// utf/tr_utf8_latin1.txt
//
const UTF8 *ConvertToLatin1(const UTF8 *pString);
LIBMUX_API const UTF8 *ConvertToLatin1(const UTF8 *pString);
// utf/tr_utf8_latin2.txt
//
const UTF8 *ConvertToLatin2(const UTF8 *pString);
LIBMUX_API const UTF8 *ConvertToLatin2(const UTF8 *pString);
// utf/tr_widths.txt
//
int ConsoleWidth(const UTF8 *pCodePoint);
LIBMUX_API int ConsoleWidth(const UTF8 *pCodePoint);
// utf/utf8_normalize.cpp — NFC normalization.
//
bool utf8_is_nfc(const UTF8 *src, size_t nSrc);
void utf8_normalize_nfc(const UTF8 *src, size_t nSrc, UTF8 *dst, size_t nDstMax, size_t *pnDst);
LIBMUX_API bool utf8_is_nfc(const UTF8 *src, size_t nSrc);
LIBMUX_API void utf8_normalize_nfc(const UTF8 *src, size_t nSrc, UTF8 *dst, size_t nDstMax, size_t *pnDst);
// utf8_collate.cpp — Unicode Collation Algorithm (UCA).
//
int mux_collate_cmp(const UTF8 *a, size_t nA, const UTF8 *b, size_t nB);
size_t mux_collate_sortkey(const UTF8 *src, size_t nSrc, UTF8 *key, size_t nKeyMax);
int mux_collate_cmp_ci(const UTF8 *a, size_t nA, const UTF8 *b, size_t nB);
size_t mux_collate_sortkey_ci(const UTF8 *src, size_t nSrc, UTF8 *key, size_t nKeyMax);
LIBMUX_API int mux_collate_cmp(const UTF8 *a, size_t nA, const UTF8 *b, size_t nB);
LIBMUX_API size_t mux_collate_sortkey(const UTF8 *src, size_t nSrc, UTF8 *key, size_t nKeyMax);
LIBMUX_API int mux_collate_cmp_ci(const UTF8 *a, size_t nA, const UTF8 *b, size_t nB);
LIBMUX_API size_t mux_collate_sortkey_ci(const UTF8 *src, size_t nSrc, UTF8 *key, size_t nKeyMax);
// utf/tr_tolower.txt
//
@ -1188,7 +1188,7 @@ inline int mux_color(const unsigned char *p)
#define mux_haswidth(x) mux_isprint(x)
bool utf8_strlen(const UTF8 *pString, size_t &nString);
LIBMUX_API bool utf8_strlen(const UTF8 *pString, size_t &nString);
// This class replaces the functionality of the strtok() C runtime library
// function. Set the source and control, and then call parse to obtain tokens.
@ -1197,7 +1197,7 @@ bool utf8_strlen(const UTF8 *pString, size_t &nString);
// parsing does not consume -all- of the controlling delimiters that separate
// two tokens. It consumes only the first one.
//
class string_token
class LIBMUX_API string_token
{
public:
string_token() : source(nullptr)
@ -1799,7 +1799,7 @@ typedef struct
size_t nEscape;
} MUX_COLOR_SET;
extern const MUX_COLOR_SET aColors[];
extern LIBMUX_API const MUX_COLOR_SET aColors[];
typedef struct
{
@ -1824,49 +1824,49 @@ typedef struct
int color8;
int color16;
} PALETTE_ENTRY;
extern PALETTE_ENTRY palette[];
extern DCL_EXPORT const unsigned int ColorTable[256];
DCL_EXPORT bool parse_rgb(size_t n, const UTF8 *p, RGB &rgb);
extern LIBMUX_API PALETTE_ENTRY palette[];
extern LIBMUX_API const unsigned int ColorTable[256];
LIBMUX_API bool parse_rgb(size_t n, const UTF8 *p, RGB &rgb);
int FindNearestPaletteEntry(RGB &rgb, bool fColor256);
UTF8 *LettersToBinary(UTF8 *pLetters);
LIBMUX_API int FindNearestPaletteEntry(RGB &rgb, bool fColor256);
LIBMUX_API UTF8 *LettersToBinary(UTF8 *pLetters);
UTF8 *convert_to_html(const UTF8 *pString);
UTF8 *convert_color(const UTF8 *pString, bool fNoBleed, bool fColor256);
UTF8 *strip_color(const UTF8 *pString, size_t *pnLength = 0, size_t *pnPoints = 0);
UTF8 *munge_space(const UTF8 *);
UTF8 *trim_spaces(const UTF8 *);
UTF8 *grabto(UTF8 **, UTF8);
int string_compare(const UTF8 *, const UTF8 *);
int string_prefix(const UTF8 *, const UTF8 *);
const UTF8 *string_match(const UTF8 *, const UTF8 *);
UTF8 *replace_string(const UTF8 *, const UTF8 *, const UTF8 *);
bool minmatch(const UTF8 *str, const UTF8 *target, int min);
UTF8 *StringCloneLen(const UTF8 *str, size_t nStr);
UTF8 *StringClone(const UTF8 *str);
void safe_copy_str(const UTF8 *src, UTF8 *buff, UTF8 **bufp, size_t nSizeOfBuffer);
void safe_copy_str_lbuf(const UTF8 *src, UTF8 *buff, UTF8 **bufp);
size_t safe_copy_buf(const UTF8 *src, size_t nLen, UTF8 *buff, UTF8 **bufp);
size_t safe_fill(UTF8 *buff, UTF8 **bufc, UTF8 chFile, size_t nSpaces);
void safe_chr_utf8(const UTF8 *src, UTF8 *buff, UTF8 **bufp);
LIBMUX_API UTF8 *convert_to_html(const UTF8 *pString);
LIBMUX_API UTF8 *convert_color(const UTF8 *pString, bool fNoBleed, bool fColor256);
LIBMUX_API UTF8 *strip_color(const UTF8 *pString, size_t *pnLength = 0, size_t *pnPoints = 0);
LIBMUX_API UTF8 *munge_space(const UTF8 *);
LIBMUX_API UTF8 *trim_spaces(const UTF8 *);
LIBMUX_API UTF8 *grabto(UTF8 **, UTF8);
LIBMUX_API int string_compare(const UTF8 *, const UTF8 *);
LIBMUX_API int string_prefix(const UTF8 *, const UTF8 *);
LIBMUX_API const UTF8 *string_match(const UTF8 *, const UTF8 *);
LIBMUX_API UTF8 *replace_string(const UTF8 *, const UTF8 *, const UTF8 *);
LIBMUX_API bool minmatch(const UTF8 *str, const UTF8 *target, int min);
LIBMUX_API UTF8 *StringCloneLen(const UTF8 *str, size_t nStr);
LIBMUX_API UTF8 *StringClone(const UTF8 *str);
LIBMUX_API void safe_copy_str(const UTF8 *src, UTF8 *buff, UTF8 **bufp, size_t nSizeOfBuffer);
LIBMUX_API void safe_copy_str_lbuf(const UTF8 *src, UTF8 *buff, UTF8 **bufp);
LIBMUX_API size_t safe_copy_buf(const UTF8 *src, size_t nLen, UTF8 *buff, UTF8 **bufp);
LIBMUX_API size_t safe_fill(UTF8 *buff, UTF8 **bufc, UTF8 chFile, size_t nSpaces);
LIBMUX_API void safe_chr_utf8(const UTF8 *src, UTF8 *buff, UTF8 **bufp);
#define utf8_safe_chr safe_chr_utf8
UTF8 *ConvertToUTF8(UTF32 ch);
UTF8 *ConvertToUTF8(const char *p, size_t *pn);
UTF16 *ConvertToUTF16(UTF32 ch);
UTF32 ConvertFromUTF8(const UTF8 *p);
size_t ConvertFromUTF16(UTF16 *pString, UTF32 &ch);
UTF16 *ConvertFromUTF8ToUTF16(const UTF8 *pString, size_t& length);
UTF8 *ConvertFromUTF16ToUTF8(const UTF16 *pSTring);
void mux_strncpy(UTF8 *dest, const UTF8 *src, size_t length_to_copy);
bool matches_exit_from_list(const UTF8 *, const UTF8 *);
UTF8 *translate_string(const UTF8 *, bool);
bool IsDecompFriendly(const UTF8 *pString);
int mux_stricmp(const UTF8 *a, const UTF8 *b);
int mux_memicmp(const void *p1_arg, const void *p2_arg, size_t n);
UTF8 *mux_strlwr(const UTF8 *a, size_t &n);
UTF8 *mux_strupr(const UTF8 *a, size_t &n);
void mux_toupper_first(UTF8 *buff, UTF8 **bufc, size_t nBufferTotal);
UTF8 *mux_foldmatch(const UTF8 *a, size_t &n, bool &fChanged);
LIBMUX_API UTF8 *ConvertToUTF8(UTF32 ch);
LIBMUX_API UTF8 *ConvertToUTF8(const char *p, size_t *pn);
LIBMUX_API UTF16 *ConvertToUTF16(UTF32 ch);
LIBMUX_API UTF32 ConvertFromUTF8(const UTF8 *p);
LIBMUX_API size_t ConvertFromUTF16(UTF16 *pString, UTF32 &ch);
LIBMUX_API UTF16 *ConvertFromUTF8ToUTF16(const UTF8 *pString, size_t& length);
LIBMUX_API UTF8 *ConvertFromUTF16ToUTF8(const UTF16 *pSTring);
LIBMUX_API void mux_strncpy(UTF8 *dest, const UTF8 *src, size_t length_to_copy);
LIBMUX_API bool matches_exit_from_list(const UTF8 *, const UTF8 *);
LIBMUX_API UTF8 *translate_string(const UTF8 *, bool);
LIBMUX_API bool IsDecompFriendly(const UTF8 *pString);
LIBMUX_API int mux_stricmp(const UTF8 *a, const UTF8 *b);
LIBMUX_API int mux_memicmp(const void *p1_arg, const void *p2_arg, size_t n);
LIBMUX_API UTF8 *mux_strlwr(const UTF8 *a, size_t &n);
LIBMUX_API UTF8 *mux_strupr(const UTF8 *a, size_t &n);
LIBMUX_API void mux_toupper_first(UTF8 *buff, UTF8 **bufc, size_t nBufferTotal);
LIBMUX_API UTF8 *mux_foldmatch(const UTF8 *a, size_t &n, bool &fChanged);
typedef struct tag_itl
{
@ -1878,18 +1878,18 @@ typedef struct tag_itl
size_t nBufferAvailable;
} ITL;
void ItemToList_Init(ITL *pContext, UTF8 *arg_buff, UTF8 **arg_bufc,
LIBMUX_API void ItemToList_Init(ITL *pContext, UTF8 *arg_buff, UTF8 **arg_bufc,
UTF8 arg_chPrefix = 0, UTF8 arg_chSep = ' ');
bool ItemToList_AddInteger(ITL *pContext, int i);
bool ItemToList_AddInteger64(ITL *pContext, int64_t i);
bool ItemToList_AddString(ITL *pContext, const UTF8 *pStr);
bool ItemToList_AddStringLEN(ITL *pContext, size_t nStr, const UTF8 *pStr);
void ItemToList_Final(ITL *pContext);
LIBMUX_API bool ItemToList_AddInteger(ITL *pContext, int i);
LIBMUX_API bool ItemToList_AddInteger64(ITL *pContext, int64_t i);
LIBMUX_API bool ItemToList_AddString(ITL *pContext, const UTF8 *pStr);
LIBMUX_API bool ItemToList_AddStringLEN(ITL *pContext, size_t nStr, const UTF8 *pStr);
LIBMUX_API void ItemToList_Final(ITL *pContext);
size_t DCL_CDECL mux_vsnprintf(UTF8 *pBuffer, size_t nBuffer, const UTF8 *pFmt, va_list va);
void DCL_CDECL mux_sprintf(UTF8 *buff, size_t count, const UTF8 *fmt, ...);
void DCL_CDECL mux_fprintf(FILE *fp, const UTF8 *fmt, ...);
size_t GetLineTrunc(UTF8 *Buffer, size_t nBuffer, FILE *fp);
LIBMUX_API size_t DCL_CDECL mux_vsnprintf(UTF8 *pBuffer, size_t nBuffer, const UTF8 *pFmt, va_list va);
LIBMUX_API void DCL_CDECL mux_sprintf(UTF8 *buff, size_t count, const UTF8 *fmt, ...);
LIBMUX_API void DCL_CDECL mux_fprintf(FILE *fp, const UTF8 *fmt, ...);
LIBMUX_API size_t GetLineTrunc(UTF8 *Buffer, size_t nBuffer, FILE *fp);
typedef struct
{
@ -1897,12 +1897,12 @@ typedef struct
size_t m_skip2;
} BMH_State;
extern void BMH_Prepare(BMH_State *bmhs, size_t nPat, const UTF8 *pPat);
extern bool BMH_Execute(BMH_State *bmhs, size_t *pnMatched, size_t nPat, const UTF8 *pPat, size_t nSrc, const UTF8 *pSrc);
extern bool BMH_StringSearch(size_t *pnMatched, size_t nPat, const UTF8 *pPat, size_t nSrc, const UTF8 *pSrc);
extern void BMH_PrepareI(BMH_State *bmhs, size_t nPat, const UTF8 *pPat);
extern bool BMH_ExecuteI(BMH_State *bmhs, size_t *pnMatched, size_t nPat, const UTF8 *pPat, size_t nSrc, const UTF8 *pSrc);
extern bool BMH_StringSearchI(size_t *pnMatched, size_t nPat, const UTF8 *pPat, size_t nSrc, const UTF8 *pSrc);
extern LIBMUX_API void BMH_Prepare(BMH_State *bmhs, size_t nPat, const UTF8 *pPat);
extern LIBMUX_API bool BMH_Execute(BMH_State *bmhs, size_t *pnMatched, size_t nPat, const UTF8 *pPat, size_t nSrc, const UTF8 *pSrc);
extern LIBMUX_API bool BMH_StringSearch(size_t *pnMatched, size_t nPat, const UTF8 *pPat, size_t nSrc, const UTF8 *pSrc);
extern LIBMUX_API void BMH_PrepareI(BMH_State *bmhs, size_t nPat, const UTF8 *pPat);
extern LIBMUX_API bool BMH_ExecuteI(BMH_State *bmhs, size_t *pnMatched, size_t nPat, const UTF8 *pPat, size_t nSrc, const UTF8 *pSrc);
extern LIBMUX_API bool BMH_StringSearchI(size_t *pnMatched, size_t nPat, const UTF8 *pPat, size_t nSrc, const UTF8 *pSrc);
struct ArtRuleset
{
@ -2105,27 +2105,27 @@ public:
static const mux_field fldAscii(1, 1);
static const mux_field fldMin(0, 0);
bool utf8_strlen(const UTF8 *pString, mux_cursor &nString);
LIBMUX_API bool utf8_strlen(const UTF8 *pString, mux_cursor &nString);
// utf8_grapheme.cpp — Extended Grapheme Cluster segmentation (UAX #29).
//
mux_cursor utf8_next_grapheme(const UTF8 *src, size_t nSrc);
size_t utf8_cluster_count(const UTF8 *src, size_t nSrc);
size_t utf8_clusters_before(const UTF8 *src, size_t nSrc, size_t nBefore);
LIBMUX_API mux_cursor utf8_next_grapheme(const UTF8 *src, size_t nSrc);
LIBMUX_API size_t utf8_cluster_count(const UTF8 *src, size_t nSrc);
LIBMUX_API size_t utf8_clusters_before(const UTF8 *src, size_t nSrc, size_t nBefore);
mux_field StripTabsAndTruncate(const UTF8 *pString, UTF8 *pBuffer,
LIBMUX_API mux_field StripTabsAndTruncate(const UTF8 *pString, UTF8 *pBuffer,
size_t nLength, size_t nWidth);
mux_field PadField(UTF8 *pBuffer, size_t nMaxBytes, LBUF_OFFSET nMinWidth,
LIBMUX_API mux_field PadField(UTF8 *pBuffer, size_t nMaxBytes, LBUF_OFFSET nMinWidth,
mux_field fldOutput = fldMin);
size_t TruncateToBuffer(const UTF8 *pString, UTF8 *pBuffer, size_t nBuffer);
LIBMUX_API size_t TruncateToBuffer(const UTF8 *pString, UTF8 *pBuffer, size_t nBuffer);
static const mux_cursor CursorMin(0,0);
static const mux_cursor CursorMax(LBUF_SIZE - 1, LBUF_SIZE - 1);
static const mux_cursor curAscii(1, 1);
class mux_string
class LIBMUX_API mux_string
{
// m_iLast, m_autf, and m_vcs work together as follows:
//
@ -2524,7 +2524,7 @@ public:
//
#define MAX_WORDS LBUF_SIZE
class mux_words
class LIBMUX_API mux_words
{
private:
LBUF_OFFSET m_nWords;
@ -2549,23 +2549,23 @@ inline int mux_min(int x, int y)
else return y;
}
void strip_fancy_quotes(UTF8 *str);
UTF8 *find_pattern_delimiter(UTF8 *str);
void unescape_pattern_colons(UTF8 *str);
LIBMUX_API void strip_fancy_quotes(UTF8 *str);
LIBMUX_API UTF8 *find_pattern_delimiter(UTF8 *str);
LIBMUX_API void unescape_pattern_colons(UTF8 *str);
// Formatted string utilities.
//
DCL_EXPORT UTF8 * DCL_CDECL tprintf(const UTF8 *, ...);
void DCL_CDECL safe_tprintf_str(UTF8 *, UTF8 **, const UTF8 *, ...);
LIBMUX_API void DCL_CDECL safe_tprintf_str(UTF8 *, UTF8 **, const UTF8 *, ...);
// Server-layer globals mirrored from mudconf/mudstate so that
// stringutil.cpp can be compiled with core.h alone.
//
extern bool g_no_flash; // mudconf.no_flash
extern bool g_space_compress; // mudstate.bStandAlone || mudconf.space_compress
extern LIBMUX_API bool g_no_flash; // mudconf.no_flash
extern LIBMUX_API bool g_space_compress; // mudstate.bStandAlone || mudconf.space_compress
size_t LeftJustifyString(UTF8 *field, size_t nWidth, const UTF8 *value);
size_t RightJustifyNumber(UTF8 *field, size_t nWidth, int64_t value, UTF8 chFill);
UTF8 *ConvertCRLFtoSpace(const UTF8 *pString);
LIBMUX_API size_t LeftJustifyString(UTF8 *field, size_t nWidth, const UTF8 *value);
LIBMUX_API size_t RightJustifyNumber(UTF8 *field, size_t nWidth, int64_t value, UTF8 chFill);
LIBMUX_API UTF8 *ConvertCRLFtoSpace(const UTF8 *pString);
#endif // STRINGUTIL_H

View file

@ -6,28 +6,28 @@
#ifndef SVDHASH_H
#define SVDHASH_H
extern uint32_t CRC32_ProcessBuffer
extern LIBMUX_API uint32_t CRC32_ProcessBuffer
(
uint32_t ulCrc,
const void *pBuffer,
size_t nBuffer
);
extern uint32_t CRC32_ProcessInteger(uint32_t nInteger);
extern uint32_t CRC32_ProcessInteger2
extern LIBMUX_API uint32_t CRC32_ProcessInteger(uint32_t nInteger);
extern LIBMUX_API uint32_t CRC32_ProcessInteger2
(
uint32_t nInteger1,
uint32_t nInteger2
);
extern uint32_t HASH_ProcessBuffer
extern LIBMUX_API uint32_t HASH_ProcessBuffer
(
uint32_t ulHash,
const void *arg_pBuffer,
size_t nBuffer
);
extern uint32_t munge_hash(const UTF8 *pBuffer);
extern LIBMUX_API uint32_t munge_hash(const UTF8 *pBuffer);
// Status codes returned by cache_init().
//

View file

@ -6,7 +6,7 @@
#ifndef SVDRAND_H
#define SVDRAND_H
void SeedRandomNumberGenerator();
int32_t RandomINT32(int32_t lLow, int32_t lHigh);
LIBMUX_API void SeedRandomNumberGenerator();
LIBMUX_API int32_t RandomINT32(int32_t lLow, int32_t lHigh);
#endif // SVDRAND_H

View file

@ -36,17 +36,17 @@ typedef struct
class CLinearTimeDelta;
class CLinearTimeAbsolute
class LIBMUX_API CLinearTimeAbsolute
{
friend class CLinearTimeDelta;
friend bool operator<(const CLinearTimeAbsolute& lta, const CLinearTimeAbsolute& ltb) noexcept;
friend bool operator>(const CLinearTimeAbsolute& lta, const CLinearTimeAbsolute& ltb) noexcept;
friend bool operator==(const CLinearTimeAbsolute& lta, const CLinearTimeAbsolute& ltb) noexcept;
friend bool operator<=(const CLinearTimeAbsolute& lta, const CLinearTimeAbsolute& ltb) noexcept;
friend bool operator>=(const CLinearTimeAbsolute& lta, const CLinearTimeAbsolute& ltb) noexcept;
friend CLinearTimeAbsolute operator+(const CLinearTimeAbsolute& lta, const CLinearTimeDelta& ltd) noexcept;
friend CLinearTimeAbsolute operator-(const CLinearTimeAbsolute& lta, const CLinearTimeDelta& ltd) noexcept;
friend CLinearTimeDelta operator-(const CLinearTimeAbsolute& lta, const CLinearTimeAbsolute& ltb);
friend LIBMUX_API bool operator<(const CLinearTimeAbsolute& lta, const CLinearTimeAbsolute& ltb) noexcept;
friend LIBMUX_API bool operator>(const CLinearTimeAbsolute& lta, const CLinearTimeAbsolute& ltb) noexcept;
friend LIBMUX_API bool operator==(const CLinearTimeAbsolute& lta, const CLinearTimeAbsolute& ltb) noexcept;
friend LIBMUX_API bool operator<=(const CLinearTimeAbsolute& lta, const CLinearTimeAbsolute& ltb) noexcept;
friend LIBMUX_API bool operator>=(const CLinearTimeAbsolute& lta, const CLinearTimeAbsolute& ltb) noexcept;
friend LIBMUX_API CLinearTimeAbsolute operator+(const CLinearTimeAbsolute& lta, const CLinearTimeDelta& ltd) noexcept;
friend LIBMUX_API CLinearTimeAbsolute operator-(const CLinearTimeAbsolute& lta, const CLinearTimeDelta& ltd) noexcept;
friend LIBMUX_API CLinearTimeDelta operator-(const CLinearTimeAbsolute& lta, const CLinearTimeAbsolute& ltb);
private:
UnderlyingTickType m_tAbsolute;
@ -119,30 +119,30 @@ public:
};
//! Less than comparison
bool operator<(const CLinearTimeAbsolute& lta, const CLinearTimeAbsolute& ltb) noexcept;
LIBMUX_API bool operator<(const CLinearTimeAbsolute& lta, const CLinearTimeAbsolute& ltb) noexcept;
//! Greater than comparison
bool operator>(const CLinearTimeAbsolute& lta, const CLinearTimeAbsolute& ltb) noexcept;
LIBMUX_API bool operator>(const CLinearTimeAbsolute& lta, const CLinearTimeAbsolute& ltb) noexcept;
//! Equality comparison
bool operator==(const CLinearTimeAbsolute& lta, const CLinearTimeAbsolute& ltb) noexcept;
LIBMUX_API bool operator==(const CLinearTimeAbsolute& lta, const CLinearTimeAbsolute& ltb) noexcept;
//! Less than or equal comparison
bool operator<=(const CLinearTimeAbsolute& lta, const CLinearTimeAbsolute& ltb) noexcept;
LIBMUX_API bool operator<=(const CLinearTimeAbsolute& lta, const CLinearTimeAbsolute& ltb) noexcept;
//! Greater than or equal comparison
bool operator>=(const CLinearTimeAbsolute& lta, const CLinearTimeAbsolute& ltb) noexcept;
LIBMUX_API bool operator>=(const CLinearTimeAbsolute& lta, const CLinearTimeAbsolute& ltb) noexcept;
//! Add time delta to absolute time
CLinearTimeAbsolute operator+(const CLinearTimeAbsolute& lta, const CLinearTimeDelta& ltd) noexcept;
LIBMUX_API CLinearTimeAbsolute operator+(const CLinearTimeAbsolute& lta, const CLinearTimeDelta& ltd) noexcept;
//! Subtract time delta from absolute time
CLinearTimeAbsolute operator-(const CLinearTimeAbsolute& lta, const CLinearTimeDelta& ltd) noexcept;
LIBMUX_API CLinearTimeAbsolute operator-(const CLinearTimeAbsolute& lta, const CLinearTimeDelta& ltd) noexcept;
bool FieldedTimeToLinearTime(FIELDEDTIME *ft, int64_t *plt);
bool LinearTimeToFieldedTime(int64_t lt, FIELDEDTIME *ft);
LIBMUX_API bool FieldedTimeToLinearTime(FIELDEDTIME *ft, int64_t *plt);
LIBMUX_API bool LinearTimeToFieldedTime(int64_t lt, FIELDEDTIME *ft);
class CLinearTimeDelta {
class LIBMUX_API CLinearTimeDelta {
public:
// --- Chrono Integration ---
// Define the equivalent chrono duration type publicly
@ -196,12 +196,12 @@ public:
CLinearTimeDelta& operator-=(const CLinearTimeDelta& ltd) noexcept;
// Comparison operators (declare as friends or non-members)
friend bool operator==(const CLinearTimeDelta& lta, const CLinearTimeDelta& ltb) noexcept;
friend bool operator!=(const CLinearTimeDelta& lta, const CLinearTimeDelta& ltb) noexcept;
friend bool operator<=(const CLinearTimeDelta& lta, const CLinearTimeDelta& ltb) noexcept;
friend bool operator<(const CLinearTimeDelta& lta, const CLinearTimeDelta& ltb) noexcept;
friend bool operator>=(const CLinearTimeDelta& lta, const CLinearTimeDelta& ltb) noexcept;
friend bool operator>(const CLinearTimeDelta& lta, const CLinearTimeDelta& ltb) noexcept;
friend LIBMUX_API bool operator==(const CLinearTimeDelta& lta, const CLinearTimeDelta& ltb) noexcept;
friend LIBMUX_API bool operator!=(const CLinearTimeDelta& lta, const CLinearTimeDelta& ltb) noexcept;
friend LIBMUX_API bool operator<=(const CLinearTimeDelta& lta, const CLinearTimeDelta& ltb) noexcept;
friend LIBMUX_API bool operator<(const CLinearTimeDelta& lta, const CLinearTimeDelta& ltb) noexcept;
friend LIBMUX_API bool operator>=(const CLinearTimeDelta& lta, const CLinearTimeDelta& ltb) noexcept;
friend LIBMUX_API bool operator>(const CLinearTimeDelta& lta, const CLinearTimeDelta& ltb) noexcept;
private:
UnderlyingTickType m_tDelta; // The core data: count of 100ns intervals
@ -214,12 +214,18 @@ private:
};
// Non-member operators (use UnderlyingTickType, check division by zero)
CLinearTimeDelta operator-(const CLinearTimeAbsolute& ltaA, const CLinearTimeAbsolute& ltaB);
CLinearTimeDelta operator-(const CLinearTimeDelta& lta, const CLinearTimeDelta& ltb) noexcept;
CLinearTimeDelta operator*(const CLinearTimeDelta& ltd, int Scale);
UnderlyingTickType operator/(const CLinearTimeDelta& ltdA, const CLinearTimeDelta& ltdB);
LIBMUX_API CLinearTimeDelta operator-(const CLinearTimeAbsolute& ltaA, const CLinearTimeAbsolute& ltaB);
LIBMUX_API CLinearTimeDelta operator-(const CLinearTimeDelta& lta, const CLinearTimeDelta& ltb) noexcept;
LIBMUX_API CLinearTimeDelta operator*(const CLinearTimeDelta& ltd, int Scale);
LIBMUX_API UnderlyingTickType operator/(const CLinearTimeDelta& ltdA, const CLinearTimeDelta& ltdB);
LIBMUX_API bool operator==(const CLinearTimeDelta& lta, const CLinearTimeDelta& ltb) noexcept;
LIBMUX_API bool operator!=(const CLinearTimeDelta& lta, const CLinearTimeDelta& ltb) noexcept;
LIBMUX_API bool operator<=(const CLinearTimeDelta& lta, const CLinearTimeDelta& ltb) noexcept;
LIBMUX_API bool operator<(const CLinearTimeDelta& lta, const CLinearTimeDelta& ltb) noexcept;
LIBMUX_API bool operator>=(const CLinearTimeDelta& lta, const CLinearTimeDelta& ltb) noexcept;
LIBMUX_API bool operator>(const CLinearTimeDelta& lta, const CLinearTimeDelta& ltb) noexcept;
class mux_alarm
class LIBMUX_API mux_alarm
{
private:
bool alarm_set_{};
@ -242,7 +248,7 @@ public:
void clear();
};
extern mux_alarm alarm_clock;
extern LIBMUX_API mux_alarm alarm_clock;
#define FACTOR_NANOSECONDS_PER_100NS 100
#define FACTOR_100NS_PER_MICROSECOND 10
@ -252,13 +258,13 @@ extern mux_alarm alarm_clock;
#define LATEST_VALID_DATE INT64_C(9222834959999999999)
#define TIMEUTIL_TIME_T_MIN_VALUE INT64_C(-922283539200)
#define TIMEUTIL_TIME_T_MAX_VALUE INT64_C(910638979199)
extern const int64_t FACTOR_MS_PER_SECOND;
extern const int64_t FACTOR_US_PER_SECOND;
extern const int64_t FACTOR_100NS_PER_SECOND;
extern const int64_t FACTOR_100NS_PER_MINUTE;
extern const int64_t FACTOR_100NS_PER_HOUR;
extern const int64_t FACTOR_100NS_PER_DAY;
extern const int64_t FACTOR_100NS_PER_WEEK;
extern LIBMUX_API const int64_t FACTOR_MS_PER_SECOND;
extern LIBMUX_API const int64_t FACTOR_US_PER_SECOND;
extern LIBMUX_API const int64_t FACTOR_100NS_PER_SECOND;
extern LIBMUX_API const int64_t FACTOR_100NS_PER_MINUTE;
extern LIBMUX_API const int64_t FACTOR_100NS_PER_HOUR;
extern LIBMUX_API const int64_t FACTOR_100NS_PER_DAY;
extern LIBMUX_API const int64_t FACTOR_100NS_PER_WEEK;
const CLinearTimeDelta time_200us = 200*FACTOR_100NS_PER_MICROSECOND;
const CLinearTimeDelta time_5ms = 5*FACTOR_100NS_PER_MILLISECOND;
@ -273,22 +279,22 @@ const CLinearTimeDelta time_30m = 30*FACTOR_100NS_PER_MINUTE;
const CLinearTimeDelta time_1w = FACTOR_100NS_PER_WEEK;
namespace TimezoneCache {
void initialize(void);
CLinearTimeDelta queryLocalOffsetAtUTC(const CLinearTimeAbsolute& utc_lta, bool* is_dst);
CLinearTimeDelta getCurrentLocalOffset(bool* is_dst);
LIBMUX_API void initialize(void);
LIBMUX_API CLinearTimeDelta queryLocalOffsetAtUTC(const CLinearTimeAbsolute& utc_lta, bool* is_dst);
LIBMUX_API CLinearTimeDelta getCurrentLocalOffset(bool* is_dst);
}
#ifdef SMALLEST_INT_GTE_NEG_QUOTIENT
int64_t i64Mod(int64_t x, int64_t y);
int64_t i64FloorDivision(int64_t x, int64_t y);
LIBMUX_API int64_t i64Mod(int64_t x, int64_t y);
LIBMUX_API int64_t i64FloorDivision(int64_t x, int64_t y);
inline int64_t i64Division(int64_t x, int64_t y) { return x / y; }
inline int64_t i64Remainder(int64_t x, int64_t y) { return x % y; }
int iFloorDivisionMod(int x, int y, int *piMod);
LIBMUX_API int iFloorDivisionMod(int x, int y, int *piMod);
#else // SMALLEST_INT_GTE_NEG_QUOTIENT
inline int64_t i64Mod(int64_t x, int64_t y) { return x % y; }
inline int64_t i64FloorDivision(int64_t x, int64_t y) { return x / y; }
int64_t i64Division(int64_t x, int64_t y);
int64_t i64Remainder(int64_t x, int64_t y);
LIBMUX_API int64_t i64Division(int64_t x, int64_t y);
LIBMUX_API int64_t i64Remainder(int64_t x, int64_t y);
inline int iFloorDivisionMod(int x, int y, int *piMod) \
{ \
*piMod = x % y; \
@ -296,25 +302,25 @@ inline int iFloorDivisionMod(int x, int y, int *piMod) \
}
#endif // SMALLEST_INT_GTE_NEG_QUOTIENT
int iMod(int x, int y);
int iFloorDivision(int x, int y);
int64_t i64FloorDivisionMod(int64_t x, int64_t y, int64_t *piMod);
bool ParseDate(CLinearTimeAbsolute &lta, UTF8 *pDateString, bool *pbZoneSpecified);
void ParseDecimalSeconds(size_t n, const UTF8 *p, unsigned short *iMilli,
LIBMUX_API int iMod(int x, int y);
LIBMUX_API int iFloorDivision(int x, int y);
LIBMUX_API int64_t i64FloorDivisionMod(int64_t x, int64_t y, int64_t *piMod);
LIBMUX_API bool ParseDate(CLinearTimeAbsolute &lta, UTF8 *pDateString, bool *pbZoneSpecified);
LIBMUX_API void ParseDecimalSeconds(size_t n, const UTF8 *p, unsigned short *iMilli,
unsigned short *iMicro, unsigned short *iNano);
bool isLeapYear(long iYear);
void ConvertToSecondsString(UTF8 *buffer, int64_t n64, int nFracDigits);
bool ParseFractionalSecondsString(int64_t &i64, const UTF8 *str);
void GetUTCLinearTime(int64_t *plt);
bool do_convtime(const UTF8 *str, FIELDEDTIME *ft);
CLinearTimeDelta QueryLocalOffsetAtUTC
LIBMUX_API bool isLeapYear(long iYear);
LIBMUX_API void ConvertToSecondsString(UTF8 *buffer, int64_t n64, int nFracDigits);
LIBMUX_API bool ParseFractionalSecondsString(int64_t &i64, const UTF8 *str);
LIBMUX_API void GetUTCLinearTime(int64_t *plt);
LIBMUX_API bool do_convtime(const UTF8 *str, FIELDEDTIME *ft);
LIBMUX_API CLinearTimeDelta QueryLocalOffsetAtUTC
(
const CLinearTimeAbsolute &lta,
bool *pisDST
);
extern const UTF8 *monthtab[12];
extern const char daystab[12];
extern const UTF8 *DayOfWeekString[7];
extern LIBMUX_API const UTF8 *monthtab[12];
extern LIBMUX_API const char daystab[12];
extern LIBMUX_API const UTF8 *DayOfWeekString[7];
#endif // TIMEUTIL_H

View file

@ -13,9 +13,9 @@
//
#define CL_PRINT_START_STATE (0)
#define CL_PRINT_ACCEPTING_STATES_START (314)
extern const unsigned char cl_print_itt[256];
extern const unsigned short cl_print_sot[314];
extern const unsigned short cl_print_sbt[4597];
extern LIBMUX_API const unsigned char cl_print_itt[256];
extern LIBMUX_API const unsigned short cl_print_sot[314];
extern LIBMUX_API const unsigned short cl_print_sbt[4597];
// utf/cl_Alpha.txt
//
@ -24,9 +24,9 @@ extern const unsigned short cl_print_sbt[4597];
//
#define CL_ALPHA_START_STATE (0)
#define CL_ALPHA_ACCEPTING_STATES_START (298)
extern const unsigned char cl_alpha_itt[256];
extern const unsigned short cl_alpha_sot[298];
extern const unsigned short cl_alpha_sbt[3995];
extern LIBMUX_API const unsigned char cl_alpha_itt[256];
extern LIBMUX_API const unsigned short cl_alpha_sot[298];
extern LIBMUX_API const unsigned short cl_alpha_sbt[3995];
// utf/cl_Digit.txt
//
@ -35,9 +35,9 @@ extern const unsigned short cl_alpha_sbt[3995];
//
#define CL_DIGIT_START_STATE (0)
#define CL_DIGIT_ACCEPTING_STATES_START (25)
extern const unsigned char cl_digit_itt[256];
extern const unsigned short cl_digit_sot[25];
extern const unsigned char cl_digit_sbt[318];
extern LIBMUX_API const unsigned char cl_digit_itt[256];
extern LIBMUX_API const unsigned short cl_digit_sot[25];
extern LIBMUX_API const unsigned char cl_digit_sbt[318];
// utf/cl_Alnum.txt
//
@ -46,9 +46,9 @@ extern const unsigned char cl_digit_sbt[318];
//
#define CL_ALNUM_START_STATE (0)
#define CL_ALNUM_ACCEPTING_STATES_START (314)
extern const unsigned char cl_alnum_itt[256];
extern const unsigned short cl_alnum_sot[314];
extern const unsigned short cl_alnum_sbt[4278];
extern LIBMUX_API const unsigned char cl_alnum_itt[256];
extern LIBMUX_API const unsigned short cl_alnum_sot[314];
extern LIBMUX_API const unsigned short cl_alnum_sbt[4278];
// utf/cl_AttrNameInitial.txt
//
@ -57,9 +57,9 @@ extern const unsigned short cl_alnum_sbt[4278];
//
#define CL_ATTRNAMEINITIAL_START_STATE (0)
#define CL_ATTRNAMEINITIAL_ACCEPTING_STATES_START (6)
extern const unsigned char cl_attrnameinitial_itt[256];
extern const unsigned char cl_attrnameinitial_sot[6];
extern const unsigned char cl_attrnameinitial_sbt[50];
extern LIBMUX_API const unsigned char cl_attrnameinitial_itt[256];
extern LIBMUX_API const unsigned char cl_attrnameinitial_sot[6];
extern LIBMUX_API const unsigned char cl_attrnameinitial_sbt[50];
// utf/cl_AttrName.txt
//
@ -68,9 +68,9 @@ extern const unsigned char cl_attrnameinitial_sbt[50];
//
#define CL_ATTRNAME_START_STATE (0)
#define CL_ATTRNAME_ACCEPTING_STATES_START (6)
extern const unsigned char cl_attrname_itt[256];
extern const unsigned char cl_attrname_sot[6];
extern const unsigned char cl_attrname_sbt[50];
extern LIBMUX_API const unsigned char cl_attrname_itt[256];
extern LIBMUX_API const unsigned char cl_attrname_sot[6];
extern LIBMUX_API const unsigned char cl_attrname_sbt[50];
// utf/cl_ObjectName.txt
//
@ -79,9 +79,9 @@ extern const unsigned char cl_attrname_sbt[50];
//
#define CL_OBJECTNAME_START_STATE (0)
#define CL_OBJECTNAME_ACCEPTING_STATES_START (32)
extern const unsigned char cl_objectname_itt[256];
extern const unsigned short cl_objectname_sot[32];
extern const unsigned char cl_objectname_sbt[323];
extern LIBMUX_API const unsigned char cl_objectname_itt[256];
extern LIBMUX_API const unsigned short cl_objectname_sot[32];
extern LIBMUX_API const unsigned char cl_objectname_sbt[323];
// utf/cl_PlayerName.txt
//
@ -90,9 +90,9 @@ extern const unsigned char cl_objectname_sbt[323];
//
#define CL_PLAYERNAME_START_STATE (0)
#define CL_PLAYERNAME_ACCEPTING_STATES_START (31)
extern const unsigned char cl_playername_itt[256];
extern const unsigned short cl_playername_sot[31];
extern const unsigned char cl_playername_sbt[308];
extern LIBMUX_API const unsigned char cl_playername_itt[256];
extern LIBMUX_API const unsigned short cl_playername_sot[31];
extern LIBMUX_API const unsigned char cl_playername_sbt[308];
// utf/cl_8859_1.txt
//
@ -101,9 +101,9 @@ extern const unsigned char cl_playername_sbt[308];
//
#define CL_8859_1_START_STATE (0)
#define CL_8859_1_ACCEPTING_STATES_START (3)
extern const unsigned char cl_8859_1_itt[256];
extern const unsigned char cl_8859_1_sot[3];
extern const unsigned char cl_8859_1_sbt[20];
extern LIBMUX_API const unsigned char cl_8859_1_itt[256];
extern LIBMUX_API const unsigned char cl_8859_1_sot[3];
extern LIBMUX_API const unsigned char cl_8859_1_sbt[20];
// utf/cl_8859_2.txt
//
@ -112,9 +112,9 @@ extern const unsigned char cl_8859_1_sbt[20];
//
#define CL_8859_2_START_STATE (0)
#define CL_8859_2_ACCEPTING_STATES_START (6)
extern const unsigned char cl_8859_2_itt[256];
extern const unsigned char cl_8859_2_sot[6];
extern const unsigned char cl_8859_2_sbt[73];
extern LIBMUX_API const unsigned char cl_8859_2_itt[256];
extern LIBMUX_API const unsigned char cl_8859_2_sot[6];
extern LIBMUX_API const unsigned char cl_8859_2_sbt[73];
// utf/cl_hangul.txt
//
@ -123,9 +123,9 @@ extern const unsigned char cl_8859_2_sbt[73];
//
#define CL_HANGUL_START_STATE (0)
#define CL_HANGUL_ACCEPTING_STATES_START (6)
extern const unsigned char cl_hangul_itt[256];
extern const unsigned char cl_hangul_sot[6];
extern const unsigned char cl_hangul_sbt[36];
extern LIBMUX_API const unsigned char cl_hangul_itt[256];
extern LIBMUX_API const unsigned char cl_hangul_sot[6];
extern LIBMUX_API const unsigned char cl_hangul_sbt[36];
// utf/cl_hiragana.txt
//
@ -134,9 +134,9 @@ extern const unsigned char cl_hangul_sbt[36];
//
#define CL_HIRAGANA_START_STATE (0)
#define CL_HIRAGANA_ACCEPTING_STATES_START (8)
extern const unsigned char cl_hiragana_itt[256];
extern const unsigned char cl_hiragana_sot[8];
extern const unsigned char cl_hiragana_sbt[51];
extern LIBMUX_API const unsigned char cl_hiragana_itt[256];
extern LIBMUX_API const unsigned char cl_hiragana_sot[8];
extern LIBMUX_API const unsigned char cl_hiragana_sbt[51];
// utf/cl_kanji.txt
//
@ -145,9 +145,9 @@ extern const unsigned char cl_hiragana_sbt[51];
//
#define CL_KANJI_START_STATE (0)
#define CL_KANJI_ACCEPTING_STATES_START (18)
extern const unsigned char cl_kanji_itt[256];
extern const unsigned char cl_kanji_sot[18];
extern const unsigned char cl_kanji_sbt[143];
extern LIBMUX_API const unsigned char cl_kanji_itt[256];
extern LIBMUX_API const unsigned char cl_kanji_sot[18];
extern LIBMUX_API const unsigned char cl_kanji_sbt[143];
// utf/cl_katakana.txt
//
@ -156,9 +156,9 @@ extern const unsigned char cl_kanji_sbt[143];
//
#define CL_KATAKANA_START_STATE (0)
#define CL_KATAKANA_ACCEPTING_STATES_START (8)
extern const unsigned char cl_katakana_itt[256];
extern const unsigned char cl_katakana_sot[8];
extern const unsigned char cl_katakana_sbt[51];
extern LIBMUX_API const unsigned char cl_katakana_itt[256];
extern LIBMUX_API const unsigned char cl_katakana_sot[8];
extern LIBMUX_API const unsigned char cl_katakana_sbt[51];
// utf/tr_utf8_ascii.txt
//
@ -167,9 +167,9 @@ extern const unsigned char cl_katakana_sbt[51];
//
#define TR_ASCII_START_STATE (0)
#define TR_ASCII_ACCEPTING_STATES_START (99)
extern const unsigned char tr_ascii_itt[256];
extern const unsigned short tr_ascii_sot[99];
extern const unsigned char tr_ascii_sbt[3431];
extern LIBMUX_API const unsigned char tr_ascii_itt[256];
extern LIBMUX_API const unsigned short tr_ascii_sot[99];
extern LIBMUX_API const unsigned char tr_ascii_sbt[3431];
// utf/tr_utf8_cp437.txt
//
@ -178,9 +178,9 @@ extern const unsigned char tr_ascii_sbt[3431];
//
#define TR_CP437_START_STATE (0)
#define TR_CP437_ACCEPTING_STATES_START (114)
extern const unsigned char tr_cp437_itt[256];
extern const unsigned short tr_cp437_sot[114];
extern const unsigned short tr_cp437_sbt[4065];
extern LIBMUX_API const unsigned char tr_cp437_itt[256];
extern LIBMUX_API const unsigned short tr_cp437_sot[114];
extern LIBMUX_API const unsigned short tr_cp437_sbt[4065];
// utf/tr_utf8_latin1.txt
//
@ -189,9 +189,9 @@ extern const unsigned short tr_cp437_sbt[4065];
//
#define TR_LATIN1_START_STATE (0)
#define TR_LATIN1_ACCEPTING_STATES_START (101)
extern const unsigned char tr_latin1_itt[256];
extern const unsigned short tr_latin1_sot[101];
extern const unsigned short tr_latin1_sbt[3488];
extern LIBMUX_API const unsigned char tr_latin1_itt[256];
extern LIBMUX_API const unsigned short tr_latin1_sot[101];
extern LIBMUX_API const unsigned short tr_latin1_sbt[3488];
// utf/tr_utf8_latin2.txt
//
@ -200,9 +200,9 @@ extern const unsigned short tr_latin1_sbt[3488];
//
#define TR_LATIN2_START_STATE (0)
#define TR_LATIN2_ACCEPTING_STATES_START (99)
extern const unsigned char tr_latin2_itt[256];
extern const unsigned short tr_latin2_sot[99];
extern const unsigned short tr_latin2_sbt[3460];
extern LIBMUX_API const unsigned char tr_latin2_itt[256];
extern LIBMUX_API const unsigned short tr_latin2_sot[99];
extern LIBMUX_API const unsigned short tr_latin2_sbt[3460];
// utf/tr_widths.txt
//
@ -211,9 +211,9 @@ extern const unsigned short tr_latin2_sbt[3460];
//
#define TR_WIDTHS_START_STATE (0)
#define TR_WIDTHS_ACCEPTING_STATES_START (373)
extern const unsigned char tr_widths_itt[256];
extern const unsigned short tr_widths_sot[373];
extern const unsigned short tr_widths_sbt[5707];
extern LIBMUX_API const unsigned char tr_widths_itt[256];
extern LIBMUX_API const unsigned short tr_widths_sot[373];
extern LIBMUX_API const unsigned short tr_widths_sbt[5707];
// utf/tr_tolower.txt
//
@ -222,14 +222,14 @@ extern const unsigned short tr_widths_sbt[5707];
//
#define TR_TOLOWER_START_STATE (0)
#define TR_TOLOWER_ACCEPTING_STATES_START (62)
extern const unsigned char tr_tolower_itt[256];
extern const unsigned short tr_tolower_sot[62];
extern const unsigned char tr_tolower_sbt[1700];
extern LIBMUX_API const unsigned char tr_tolower_itt[256];
extern LIBMUX_API const unsigned short tr_tolower_sot[62];
extern LIBMUX_API const unsigned char tr_tolower_sbt[1700];
#define TR_TOLOWER_DEFAULT (0)
#define TR_TOLOWER_LITERAL_START (1)
#define TR_TOLOWER_XOR_START (28)
extern const string_desc tr_tolower_ott[144];
extern LIBMUX_API const string_desc tr_tolower_ott[144];
// utf/tr_toupper.txt
//
@ -238,14 +238,14 @@ extern const string_desc tr_tolower_ott[144];
//
#define TR_TOUPPER_START_STATE (0)
#define TR_TOUPPER_ACCEPTING_STATES_START (67)
extern const unsigned char tr_toupper_itt[256];
extern const unsigned short tr_toupper_sot[67];
extern const unsigned char tr_toupper_sbt[1820];
extern LIBMUX_API const unsigned char tr_toupper_itt[256];
extern LIBMUX_API const unsigned short tr_toupper_sot[67];
extern LIBMUX_API const unsigned char tr_toupper_sbt[1820];
#define TR_TOUPPER_DEFAULT (0)
#define TR_TOUPPER_LITERAL_START (1)
#define TR_TOUPPER_XOR_START (33)
extern const string_desc tr_toupper_ott[158];
extern LIBMUX_API const string_desc tr_toupper_ott[158];
// utf/tr_totitle.txt
//
@ -254,14 +254,14 @@ extern const string_desc tr_toupper_ott[158];
//
#define TR_TOTITLE_START_STATE (0)
#define TR_TOTITLE_ACCEPTING_STATES_START (67)
extern const unsigned char tr_totitle_itt[256];
extern const unsigned short tr_totitle_sot[67];
extern const unsigned char tr_totitle_sbt[1821];
extern LIBMUX_API const unsigned char tr_totitle_itt[256];
extern LIBMUX_API const unsigned short tr_totitle_sot[67];
extern LIBMUX_API const unsigned char tr_totitle_sbt[1821];
#define TR_TOTITLE_DEFAULT (0)
#define TR_TOTITLE_LITERAL_START (1)
#define TR_TOTITLE_XOR_START (33)
extern const string_desc tr_totitle_ott[156];
extern LIBMUX_API const string_desc tr_totitle_ott[156];
// utf/tr_foldmatch.txt
//
@ -270,14 +270,14 @@ extern const string_desc tr_totitle_ott[156];
//
#define TR_FOLDMATCH_START_STATE (0)
#define TR_FOLDMATCH_ACCEPTING_STATES_START (7)
extern const unsigned char tr_foldmatch_itt[256];
extern const unsigned char tr_foldmatch_sot[7];
extern const unsigned char tr_foldmatch_sbt[47];
extern LIBMUX_API const unsigned char tr_foldmatch_itt[256];
extern LIBMUX_API const unsigned char tr_foldmatch_sot[7];
extern LIBMUX_API const unsigned char tr_foldmatch_sbt[47];
#define TR_FOLDMATCH_DEFAULT (0)
#define TR_FOLDMATCH_LITERAL_START (1)
#define TR_FOLDMATCH_XOR_START (3)
extern const string_desc tr_foldmatch_ott[3];
extern LIBMUX_API const string_desc tr_foldmatch_ott[3];
// utf/tr_Color.txt
//
@ -286,9 +286,9 @@ extern const string_desc tr_foldmatch_ott[3];
//
#define TR_COLOR_START_STATE (0)
#define TR_COLOR_ACCEPTING_STATES_START (37)
extern const unsigned char tr_color_itt[256];
extern const unsigned short tr_color_sot[37];
extern const unsigned short tr_color_sbt[2245];
extern LIBMUX_API const unsigned char tr_color_itt[256];
extern LIBMUX_API const unsigned short tr_color_sot[37];
extern LIBMUX_API const unsigned short tr_color_sbt[2245];
// utf/tr_ccc.txt
//
@ -297,9 +297,9 @@ extern const unsigned short tr_color_sbt[2245];
//
#define TR_CCC_START_STATE (0)
#define TR_CCC_ACCEPTING_STATES_START (132)
extern const unsigned char tr_ccc_itt[256];
extern const unsigned short tr_ccc_sot[132];
extern const unsigned short tr_ccc_sbt[1591];
extern LIBMUX_API const unsigned char tr_ccc_itt[256];
extern LIBMUX_API const unsigned short tr_ccc_sot[132];
extern LIBMUX_API const unsigned short tr_ccc_sbt[1591];
// utf/tr_nfcqc.txt
//
@ -308,9 +308,9 @@ extern const unsigned short tr_ccc_sbt[1591];
//
#define TR_NFCQC_START_STATE (0)
#define TR_NFCQC_ACCEPTING_STATES_START (60)
extern const unsigned char tr_nfcqc_itt[256];
extern const unsigned short tr_nfcqc_sot[60];
extern const unsigned char tr_nfcqc_sbt[714];
extern LIBMUX_API const unsigned char tr_nfcqc_itt[256];
extern LIBMUX_API const unsigned short tr_nfcqc_sot[60];
extern LIBMUX_API const unsigned char tr_nfcqc_sbt[714];
// utf/tr_nfd.txt
//
@ -319,14 +319,14 @@ extern const unsigned char tr_nfcqc_sbt[714];
//
#define TR_NFD_START_STATE (0)
#define TR_NFD_ACCEPTING_STATES_START (97)
extern const unsigned char tr_nfd_itt[256];
extern const unsigned short tr_nfd_sot[97];
extern const unsigned short tr_nfd_sbt[3046];
extern LIBMUX_API const unsigned char tr_nfd_itt[256];
extern LIBMUX_API const unsigned short tr_nfd_sot[97];
extern LIBMUX_API const unsigned short tr_nfd_sbt[3046];
#define TR_NFD_DEFAULT (0)
#define TR_NFD_LITERAL_START (1)
#define TR_NFD_XOR_START (1332)
extern const string_desc tr_nfd_ott[2045];
extern LIBMUX_API const string_desc tr_nfd_ott[2045];
// utf/tr_compose.txt
//
@ -335,11 +335,11 @@ extern const string_desc tr_nfd_ott[2045];
//
#define TR_NFC_COMPOSE_START_STATE (0)
#define TR_NFC_COMPOSE_ACCEPTING_STATES_START (129)
extern const unsigned char tr_nfc_compose_itt[256];
extern const unsigned short tr_nfc_compose_sot[129];
extern const unsigned short tr_nfc_compose_sbt[3539];
extern LIBMUX_API const unsigned char tr_nfc_compose_itt[256];
extern LIBMUX_API const unsigned short tr_nfc_compose_sot[129];
extern LIBMUX_API const unsigned short tr_nfc_compose_sbt[3539];
#define TR_NFC_COMPOSE_NFC_COMPOSE_RESULTS (964)
extern const UTF32 tr_nfc_compose_nfc_compose_result[965];
extern LIBMUX_API const UTF32 tr_nfc_compose_nfc_compose_result[965];
// utf/tr_gcb.txt
//
@ -348,9 +348,9 @@ extern const UTF32 tr_nfc_compose_nfc_compose_result[965];
//
#define TR_GCB_START_STATE (0)
#define TR_GCB_ACCEPTING_STATES_START (208)
extern const unsigned char tr_gcb_itt[256];
extern const unsigned short tr_gcb_sot[208];
extern const unsigned char tr_gcb_sbt[2922];
extern LIBMUX_API const unsigned char tr_gcb_itt[256];
extern LIBMUX_API const unsigned short tr_gcb_sot[208];
extern LIBMUX_API const unsigned char tr_gcb_sbt[2922];
// utf/cl_ExtPict.txt
//
@ -359,9 +359,9 @@ extern const unsigned char tr_gcb_sbt[2922];
//
#define CL_EXTPICT_START_STATE (0)
#define CL_EXTPICT_ACCEPTING_STATES_START (44)
extern const unsigned char cl_extpict_itt[256];
extern const unsigned short cl_extpict_sot[44];
extern const unsigned char cl_extpict_sbt[510];
extern LIBMUX_API const unsigned char cl_extpict_itt[256];
extern LIBMUX_API const unsigned short cl_extpict_sot[44];
extern LIBMUX_API const unsigned char cl_extpict_sbt[510];
// utf/tr_ducet.txt
//
@ -370,9 +370,9 @@ extern const unsigned char cl_extpict_sbt[510];
//
#define TR_DUCET_START_STATE (0)
#define TR_DUCET_ACCEPTING_STATES_START (702)
extern const unsigned char tr_ducet_itt[256];
extern const unsigned short tr_ducet_sot[702];
extern const unsigned short tr_ducet_sbt[43141];
extern LIBMUX_API const unsigned char tr_ducet_itt[256];
extern LIBMUX_API const unsigned short tr_ducet_sot[702];
extern LIBMUX_API const unsigned short tr_ducet_sbt[43141];
// utf/tr_ducet_contract.txt
//
@ -381,11 +381,11 @@ extern const unsigned short tr_ducet_sbt[43141];
//
#define TR_DUCET_CONTRACT_START_STATE (0)
#define TR_DUCET_CONTRACT_ACCEPTING_STATES_START (27)
extern const unsigned char tr_ducet_contract_itt[256];
extern const unsigned short tr_ducet_contract_sot[27];
extern const unsigned short tr_ducet_contract_sbt[1464];
extern LIBMUX_API const unsigned char tr_ducet_contract_itt[256];
extern LIBMUX_API const unsigned short tr_ducet_contract_sot[27];
extern LIBMUX_API const unsigned short tr_ducet_contract_sbt[1464];
#define TR_DUCET_CONTRACT_NFC_COMPOSE_RESULTS (953)
extern const UTF32 tr_ducet_contract_nfc_compose_result[954];
extern LIBMUX_API const UTF32 tr_ducet_contract_nfc_compose_result[954];
#endif // UTF8TABLES_H

View file

@ -10,7 +10,8 @@
#include "copyright.h"
#include "autoconf.h"
#include "config.h"
#include "externs.h"
#include "core.h"
#include "modules.h"
// libmux.so cannot access mudconf directly (it lives in engine.so).
// This flag mirrors g_paranoid_alloc; the engine sets it after

View file

@ -939,7 +939,11 @@ extern "C" MUX_RESULT DCL_EXPORT DCL_API mux_InitModuleLibrary(process_context c
// Register libmux as a Module. It has its own proxy/stub factory
// classes that need to coexist with netmux's classes.
//
#if defined(WINDOWS_FILES)
Module *pModule = ModuleAdd(T("libmux"), L"./bin/libmux.dll");
#elif defined(UNIX_FILES)
Module *pModule = ModuleAdd(T("libmux"), T("./bin/libmux.so"));
#endif
if (nullptr == pModule)
{
return MUX_E_OUTOFMEMORY;
@ -3826,7 +3830,7 @@ extern "C" MUX_RESULT DCL_API libmux_GetClassObject(MUX_CID cid, MUX_IID iid, vo
// Crash diagnostic global — set by engine during command processing.
// ---------------------------------------------------------------------------
DCL_EXPORT const UTF8 *g_debug_cmd = T("< init >");
LIBMUX_API const UTF8 *g_debug_cmd = T("< init >");
// ---------------------------------------------------------------------------
// AssertionFailed / OutOfMemory — libmux versions.

View file

@ -202,7 +202,7 @@ void mux_FPRestore(void)
#endif
void FLOAT_Initialize(void)
LIBMUX_API void FLOAT_Initialize(void)
{
mux_FPInit();
mux_FPSet();

View file

@ -1,9 +1,8 @@
/*! \file svdrand.cpp
* \brief Random Numbers PCG-XSL-RR-128/64 (pcg64).
* \brief Random Numbers PCG family.
*
* Replaces Mersenne Twister (std::mt19937).
* State: 32 bytes (128-bit state + 128-bit stream).
* Output: 64 bits per step, period 2^128.
* Unix: PCG-XSL-RR-128/64 (pcg64). 128-bit state, 64-bit output.
* Windows: PCG-XSH-RR-64/32 (pcg32). 64-bit state, 32-bit output.
*
* Algorithm from: M.E. O'Neill, "PCG: A Family of Simple Fast
* Space-Efficient Statistically Good Algorithms for Random Number
@ -15,24 +14,92 @@
#include "config.h"
#include "core.h"
static bool g_bSeeded = false;
#if defined(_MSC_VER)
// -----------------------------------------------------------------------
// PCG-XSH-RR-64/32 for Windows (no __int128 needed).
// -----------------------------------------------------------------------
static const uint64_t PCG32_MULT = 6364136223846793005ULL;
static uint64_t g_state;
static uint64_t g_inc;
static uint32_t pcg32_random()
{
uint64_t old = g_state;
g_state = old * PCG32_MULT + g_inc;
// XSH-RR output function.
//
uint32_t xorshifted = (uint32_t)(((old >> 18u) ^ old) >> 27u);
unsigned rot = (unsigned)(old >> 59u);
return (xorshifted >> rot) | (xorshifted << ((-rot) & 31u));
}
void SeedRandomNumberGenerator()
{
if (g_bSeeded)
{
return;
}
g_bSeeded = true;
// Gather entropy from multiple sources on Windows.
//
unsigned int s[4];
LARGE_INTEGER qpc;
QueryPerformanceCounter(&qpc);
s[0] = (unsigned int)(uintptr_t)&g_state;
s[1] = (unsigned int)time(nullptr);
s[2] = (unsigned int)qpc.LowPart;
s[3] = (unsigned int)qpc.HighPart ^ GetCurrentProcessId();
g_inc = ((uint64_t)s[2] << 32 | s[3]) | 1u;
g_state = 0;
pcg32_random();
g_state += (uint64_t)s[0] << 32 | s[1];
pcg32_random();
}
int32_t RandomINT32(int32_t lLow, int32_t lHigh)
{
if (lHigh < lLow)
{
return -1;
}
else if (lHigh == lLow)
{
return lLow;
}
// Combine two 32-bit outputs for unbiased 64-bit rejection sampling.
//
uint64_t range = (uint64_t)(lHigh - lLow) + 1u;
uint64_t limit = -range % range;
for (;;)
{
uint64_t r = ((uint64_t)pcg32_random() << 32) | pcg32_random();
if (r >= limit)
{
return lLow + (int32_t)(r % range);
}
}
}
#else // GCC/Clang — PCG-XSL-RR-128/64
typedef unsigned __int128 uint128_t;
// PCG default multiplier and increment for 128-bit LCG.
//
static const uint128_t PCG_MULT =
(uint128_t)2549297995355413924ULL << 64
| 4865540595714422341ULL;
static const uint128_t PCG_DEFAULT_INC =
(uint128_t)6364136223846793005ULL << 64
| 1442695040888963407ULL;
static uint128_t g_state;
static uint128_t g_inc;
static bool g_bSeeded = false;
// PCG-XSL-RR-128/64 output function.
//
static uint64_t pcg64_random()
{
uint128_t old = g_state;
@ -110,3 +177,5 @@ int32_t RandomINT32(int32_t lLow, int32_t lHigh)
}
}
}
#endif

View file

@ -6,7 +6,7 @@
#include "copyright.h"
#include "autoconf.h"
#include "config.h"
#include "externs.h"
#include "core.h"
// utf/cl_Printable.txt
//

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
@ -41,10 +41,12 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>.\bin_release\</OutDir>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<IncludePath>C:\tinymux\mux\include;C:\tinymux\mux\src\pcre2\include;C:\tinymux\mux\sqlite;$(IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>.\bin_debug\</OutDir>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<IncludePath>C:\tinymux\mux\include;C:\tinymux\mux\src\pcre2\include;C:\tinymux\mux\sqlite;$(IncludePath)</IncludePath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
@ -60,7 +62,7 @@
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<PreprocessorDefinitions>WIN32;NDEBUG;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;NDEBUG;UNICODE;BUILDING_LIBMUX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader />
<CallingConvention>FastCall</CallingConvention>
@ -87,7 +89,7 @@
<HeaderFileName />
</Midl>
<ClCompile>
<PreprocessorDefinitions>WIN32;_DEBUG;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;_DEBUG;UNICODE;BUILDING_LIBMUX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
<LanguageStandard>stdcpp17</LanguageStandard>
@ -103,19 +105,163 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="libmux.cpp">
<ClCompile Include="lib\alarm.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">WIN32;_DEBUG;UNICODE</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">WIN32;NDEBUG;UNICODE</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="lib\alloc.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="lib\dbutil.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="lib\libmux.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="lib\mathutil.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="lib\sha1.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="lib\stringutil.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="lib\strtod.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="lib\svdhash.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="lib\svdrand.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="lib\timeabsolute.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="lib\timedelta.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="lib\timeparser.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="lib\timeutil.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="lib\timezone.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="lib\utf8_collate.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="lib\utf8_grapheme.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="lib\utf8_normalize.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="lib\utf8tables.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="autoconf.h" />
<ClInclude Include="config.h" />
<ClInclude Include="libmux.h" />
<ClInclude Include="include\autoconf-win32.h" />
<ClInclude Include="include\config.h" />
<ClInclude Include="include\libmux.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">

View file

@ -0,0 +1,135 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{C2D3E4F5-A6B7-8901-CDEF-123456789012}</ProjectGuid>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v145</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v145</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>12.0.30501.0</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>..\..\bin_release\</OutDir>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<IncludePath>C:\tinymux\mux\include;C:\tinymux\mux\sqlite;$(IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>..\..\bin_debug\</OutDir>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<IncludePath>C:\tinymux\mux\include;C:\tinymux\mux\sqlite;$(IncludePath)</IncludePath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>X64</TargetEnvironment>
<TypeLibraryName>.\bin_release/comsys.tlb</TypeLibraryName>
<HeaderFileName />
</Midl>
<ClCompile>
<Optimization>Full</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<PreprocessorDefinitions>WIN32;NDEBUG;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader />
<CallingConvention>FastCall</CallingConvention>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<ModuleDefinitionFile />
<SubSystem>Windows</SubSystem>
<RandomizedBaseAddress>true</RandomizedBaseAddress>
<DataExecutionPrevention />
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>X64</TargetEnvironment>
<TypeLibraryName>.\bin_debug/comsys.tlb</TypeLibraryName>
<HeaderFileName />
</Midl>
<ClCompile>
<PreprocessorDefinitions>WIN32;_DEBUG;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<ModuleDefinitionFile />
<SubSystem>Windows</SubSystem>
<DataExecutionPrevention />
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="comsys_mod.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">WIN32;_DEBUG;UNICODE</PreprocessorDefinitions>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">WIN32;NDEBUG;UNICODE</PreprocessorDefinitions>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\autoconf-win32.h" />
<ClInclude Include="..\autoconf-win32.h" />
<ClInclude Include="..\config.h" />
<ClInclude Include="..\libmux.h" />
<ClInclude Include="..\modules.h" />
<ClInclude Include="comsys_mod.h" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\libmux.vcxproj">
<Project>{FEA073C1-4F18-42A1-AC39-1A2EC0A65E92}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -26,6 +26,12 @@
#include <cstring>
// Windows compatibility for POSIX functions.
//
#ifdef _MSC_VER
#define strcasecmp _stricmp
#endif
// Module bookkeeping.
//
static uint32_t g_cComponents = 0;

View file

@ -12,6 +12,21 @@
#include "core.h"
#include "externs.h"
#if defined(_MSC_VER)
#include <intrin.h>
static inline int ctz64(uint64_t x)
{
unsigned long idx;
_BitScanForward64(&idx, x);
return (int)idx;
}
#else
static inline int ctz64(uint64_t x)
{
return ctz64(x);
}
#endif
// Bitmap field limits.
//
#define CRON_MINUTE_MIN 0
@ -79,7 +94,7 @@ static int next_set_bit(uint64_t bitmap, int pos)
{
return -1;
}
return __builtin_ctzll(mask);
return ctz64(mask);
}
// Return the lowest set bit position, or -1.
@ -90,7 +105,7 @@ static int first_set_bit(uint64_t bitmap)
{
return -1;
}
return __builtin_ctzll(bitmap);
return ctz64(bitmap);
}
// -------------------------------------------------------------------------

View file

@ -0,0 +1,558 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{B1C2D3E4-F5A6-7890-BCDE-F12345678901}</ProjectGuid>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v145</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v145</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>12.0.30501.0</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>..\..\bin_release\</OutDir>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<IncludePath>C:\tinymux\mux\include;C:\tinymux\mux\sqlite;C:\tinymux\mux\src\pcre2\include;C:\tinymux\mux\ganl\include;$(IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>..\..\bin_debug\</OutDir>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<IncludePath>C:\tinymux\mux\include;C:\tinymux\mux\sqlite;C:\tinymux\mux\src\pcre2\include;C:\tinymux\mux\ganl\include;$(IncludePath)</IncludePath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>X64</TargetEnvironment>
<TypeLibraryName>.\bin_release/engine.tlb</TypeLibraryName>
<HeaderFileName />
</Midl>
<ClCompile>
<Optimization>Full</Optimization>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<PreprocessorDefinitions>WIN32;NDEBUG;UNICODE;WOD_REALMS;SQLITE_STORAGE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader />
<CallingConvention>FastCall</CallingConvention>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>libmux.lib;ganl.lib;pcre2-8.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\bin_release;..\..\src\pcre2\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile />
<SubSystem>Windows</SubSystem>
<RandomizedBaseAddress>true</RandomizedBaseAddress>
<DataExecutionPrevention />
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>X64</TargetEnvironment>
<TypeLibraryName>.\bin_debug/engine.tlb</TypeLibraryName>
<HeaderFileName />
</Midl>
<ClCompile>
<PreprocessorDefinitions>WIN32;_DEBUG;UNICODE;WOD_REALMS;SQLITE_STORAGE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>libmux.lib;ganl.lib;pcre2-8d.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\bin_debug;..\..\src\pcre2\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile />
<SubSystem>Windows</SubSystem>
<DataExecutionPrevention />
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="ast.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="ast_scan.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="attrcache.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="boolexp.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="command.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="comsys.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="conf.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="conn_bridge.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="cque.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="create.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="cron.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="db.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="db_rw.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="engine.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="engine_com.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="eval.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="file_c.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="flags.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="funceval.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="funceval2.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="functions.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="funcweb.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="funmath.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="help.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="htab.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="levels.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="local.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="log.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="look.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="mail.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="match.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="mguests.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="move.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="object.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="player.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="player_c.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="plusemail.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="powers.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="predicates.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="quota.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="rob.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="session.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="set.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="speech.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="sqlite_backend.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="sqlitedb.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="timer.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="unparse.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="vattr.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="walkdb.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="wild.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="wiz.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="..\..\sqlite\sqlite3.c">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\autoconf-win32.h" />
<ClInclude Include="..\..\modules\autoconf-win32.h" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\libmux.vcxproj">
<Project>{FEA073C1-4F18-42A1-AC39-1A2EC0A65E92}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\..\ganl\ganl.vcxproj">
<Project>{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -3231,6 +3231,7 @@ MUX_RESULT CGameEngine::GetConfig(DRIVER_CONFIG *pConfig)
MUX_RESULT CGameEngine::DumpChildExited(int child_pid)
{
#if defined(HAVE_WORKING_FORK)
if (!mudstate.dumping)
{
return MUX_S_FALSE;
@ -3260,6 +3261,10 @@ MUX_RESULT CGameEngine::DumpChildExited(int child_pid)
p = p->pNext;
}
return MUX_S_OK;
#else
UNUSED_PARAMETER(child_pid);
return MUX_S_FALSE;
#endif
}
MUX_RESULT CGameEngine::SetStartTime(const CLinearTimeAbsolute &time)

View file

@ -0,0 +1,135 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{E4F5A6B7-C8D9-0123-EFAB-345678901234}</ProjectGuid>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v145</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v145</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>12.0.30501.0</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>..\..\bin_release\</OutDir>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<IncludePath>C:\tinymux\mux\include;$(IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>..\..\bin_debug\</OutDir>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<IncludePath>C:\tinymux\mux\include;$(IncludePath)</IncludePath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>X64</TargetEnvironment>
<TypeLibraryName>.\bin_release/exp3.tlb</TypeLibraryName>
<HeaderFileName />
</Midl>
<ClCompile>
<Optimization>Full</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<PreprocessorDefinitions>WIN32;NDEBUG;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader />
<CallingConvention>FastCall</CallingConvention>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<ModuleDefinitionFile />
<SubSystem>Windows</SubSystem>
<RandomizedBaseAddress>true</RandomizedBaseAddress>
<DataExecutionPrevention />
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>X64</TargetEnvironment>
<TypeLibraryName>.\bin_debug/exp3.tlb</TypeLibraryName>
<HeaderFileName />
</Midl>
<ClCompile>
<PreprocessorDefinitions>WIN32;_DEBUG;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<ModuleDefinitionFile />
<SubSystem>Windows</SubSystem>
<DataExecutionPrevention />
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="exp3.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">WIN32;_DEBUG;UNICODE</PreprocessorDefinitions>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">WIN32;NDEBUG;UNICODE</PreprocessorDefinitions>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\autoconf-win32.h" />
<ClInclude Include="..\autoconf-win32.h" />
<ClInclude Include="..\config.h" />
<ClInclude Include="..\libmux.h" />
<ClInclude Include="..\modules.h" />
<ClInclude Include="exp3.h" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\libmux.vcxproj">
<Project>{FEA073C1-4F18-42A1-AC39-1A2EC0A65E92}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -0,0 +1,135 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{D3E4F5A6-B7C8-9012-DEFA-234567890123}</ProjectGuid>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v145</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v145</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>12.0.30501.0</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>..\..\bin_release\</OutDir>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<IncludePath>C:\tinymux\mux\include;C:\tinymux\mux\sqlite;$(IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>..\..\bin_debug\</OutDir>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<IncludePath>C:\tinymux\mux\include;C:\tinymux\mux\sqlite;$(IncludePath)</IncludePath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>X64</TargetEnvironment>
<TypeLibraryName>.\bin_release/mail.tlb</TypeLibraryName>
<HeaderFileName />
</Midl>
<ClCompile>
<Optimization>Full</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<PreprocessorDefinitions>WIN32;NDEBUG;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader />
<CallingConvention>FastCall</CallingConvention>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<ModuleDefinitionFile />
<SubSystem>Windows</SubSystem>
<RandomizedBaseAddress>true</RandomizedBaseAddress>
<DataExecutionPrevention />
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>X64</TargetEnvironment>
<TypeLibraryName>.\bin_debug/mail.tlb</TypeLibraryName>
<HeaderFileName />
</Midl>
<ClCompile>
<PreprocessorDefinitions>WIN32;_DEBUG;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<ModuleDefinitionFile />
<SubSystem>Windows</SubSystem>
<DataExecutionPrevention />
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="mail_mod.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">WIN32;_DEBUG;UNICODE</PreprocessorDefinitions>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">WIN32;NDEBUG;UNICODE</PreprocessorDefinitions>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\autoconf-win32.h" />
<ClInclude Include="..\autoconf-win32.h" />
<ClInclude Include="..\config.h" />
<ClInclude Include="..\libmux.h" />
<ClInclude Include="..\modules.h" />
<ClInclude Include="mail_mod.h" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\libmux.vcxproj">
<Project>{FEA073C1-4F18-42A1-AC39-1A2EC0A65E92}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -27,6 +27,25 @@
#include <cstdlib>
#include <cctype>
// Windows compatibility for POSIX functions.
//
#ifdef _MSC_VER
#define strcasecmp _stricmp
#define strtok_r strtok_s
static inline char *strndup(const char *s, size_t n)
{
size_t len = strnlen(s, n);
char *p = static_cast<char *>(malloc(len + 1));
if (p)
{
memcpy(p, s, len);
p[len] = '\0';
}
return p;
}
#endif
// En-dash line for mail display borders.
//
static const UTF8 *MOD_DASH_LINE =

View file

@ -39,12 +39,14 @@
<_ProjectFileVersion>12.0.30501.0</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>..\bin_release\</OutDir>
<OutDir>..\..\bin_release\</OutDir>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<IncludePath>C:\tinymux\mux\include;$(IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>..\bin_debug\</OutDir>
<OutDir>..\..\bin_debug\</OutDir>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<IncludePath>C:\tinymux\mux\include;$(IncludePath)</IncludePath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
@ -114,14 +116,13 @@
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\config.h" />
<ClInclude Include="..\libmux.h" />
<ClInclude Include="..\modules.h" />
<ClInclude Include="autoconf.h" />
<ClInclude Include="sql.h" />
<ClInclude Include="..\..\include\config.h" />
<ClInclude Include="..\..\include\libmux.h" />
<ClInclude Include="..\..\include\modules.h" />
<ClInclude Include="..\..\include\sql.h" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\libmux.vcxproj">
<ProjectReference Include="..\..\libmux.vcxproj">
<Project>{fea073c1-4f18-42a1-ac39-1a2ec0a65e92}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>

View file

@ -39,12 +39,14 @@
<_ProjectFileVersion>12.0.30501.0</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>..\bin_release\</OutDir>
<OutDir>..\..\bin_release\</OutDir>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<IncludePath>C:\tinymux\mux\include;$(IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>..\bin_debug\</OutDir>
<OutDir>..\..\bin_debug\</OutDir>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<IncludePath>C:\tinymux\mux\include;$(IncludePath)</IncludePath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
@ -114,14 +116,13 @@
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\config.h" />
<ClInclude Include="..\libmux.h" />
<ClInclude Include="..\modules.h" />
<ClInclude Include="autoconf.h" />
<ClInclude Include="sql.h" />
<ClInclude Include="..\..\include\config.h" />
<ClInclude Include="..\..\include\libmux.h" />
<ClInclude Include="..\..\include\modules.h" />
<ClInclude Include="..\..\include\sql.h" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\libmux.vcxproj">
<ProjectReference Include="..\..\libmux.vcxproj">
<Project>{fea073c1-4f18-42a1-ac39-1a2ec0a65e92}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>

View file

@ -6,9 +6,17 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmux", "libmux.vcxproj",
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "netmux", "netmux.vcxproj", "{4B7BC7FB-4A90-487B-9818-A7F86B0E6831}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlproxy", "modules\sqlproxy.vcxproj", "{5689B87D-E634-4061-8090-BC93974ABB2E}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "engine", "modules\engine\engine.vcxproj", "{B1C2D3E4-F5A6-7890-BCDE-F12345678901}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlslave", "modules\sqlslave.vcxproj", "{87FF7E1D-10EF-4B5D-8710-F8EFC963FE1D}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "comsys", "modules\comsys\comsys.vcxproj", "{C2D3E4F5-A6B7-8901-CDEF-123456789012}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mail", "modules\mail\mail.vcxproj", "{D3E4F5A6-B7C8-9012-DEFA-234567890123}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exp3", "modules\exp3\exp3.vcxproj", "{E4F5A6B7-C8D9-0123-EFAB-345678901234}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlproxy", "modules\sqlproxy\sqlproxy.vcxproj", "{5689B87D-E634-4061-8090-BC93974ABB2E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlslave", "modules\sqlslave\sqlslave.vcxproj", "{87FF7E1D-10EF-4B5D-8710-F8EFC963FE1D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ganl", "ganl\ganl.vcxproj", "{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}"
EndProject
@ -26,6 +34,22 @@ Global
{4B7BC7FB-4A90-487B-9818-A7F86B0E6831}.Debug|x64.Build.0 = Debug|x64
{4B7BC7FB-4A90-487B-9818-A7F86B0E6831}.Release|x64.ActiveCfg = Release|x64
{4B7BC7FB-4A90-487B-9818-A7F86B0E6831}.Release|x64.Build.0 = Release|x64
{B1C2D3E4-F5A6-7890-BCDE-F12345678901}.Debug|x64.ActiveCfg = Debug|x64
{B1C2D3E4-F5A6-7890-BCDE-F12345678901}.Debug|x64.Build.0 = Debug|x64
{B1C2D3E4-F5A6-7890-BCDE-F12345678901}.Release|x64.ActiveCfg = Release|x64
{B1C2D3E4-F5A6-7890-BCDE-F12345678901}.Release|x64.Build.0 = Release|x64
{C2D3E4F5-A6B7-8901-CDEF-123456789012}.Debug|x64.ActiveCfg = Debug|x64
{C2D3E4F5-A6B7-8901-CDEF-123456789012}.Debug|x64.Build.0 = Debug|x64
{C2D3E4F5-A6B7-8901-CDEF-123456789012}.Release|x64.ActiveCfg = Release|x64
{C2D3E4F5-A6B7-8901-CDEF-123456789012}.Release|x64.Build.0 = Release|x64
{D3E4F5A6-B7C8-9012-DEFA-234567890123}.Debug|x64.ActiveCfg = Debug|x64
{D3E4F5A6-B7C8-9012-DEFA-234567890123}.Debug|x64.Build.0 = Debug|x64
{D3E4F5A6-B7C8-9012-DEFA-234567890123}.Release|x64.ActiveCfg = Release|x64
{D3E4F5A6-B7C8-9012-DEFA-234567890123}.Release|x64.Build.0 = Release|x64
{E4F5A6B7-C8D9-0123-EFAB-345678901234}.Debug|x64.ActiveCfg = Debug|x64
{E4F5A6B7-C8D9-0123-EFAB-345678901234}.Debug|x64.Build.0 = Debug|x64
{E4F5A6B7-C8D9-0123-EFAB-345678901234}.Release|x64.ActiveCfg = Release|x64
{E4F5A6B7-C8D9-0123-EFAB-345678901234}.Release|x64.Build.0 = Release|x64
{5689B87D-E634-4061-8090-BC93974ABB2E}.Debug|x64.ActiveCfg = Debug|x64
{5689B87D-E634-4061-8090-BC93974ABB2E}.Debug|x64.Build.0 = Debug|x64
{5689B87D-E634-4061-8090-BC93974ABB2E}.Release|x64.ActiveCfg = Release|x64

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
@ -41,13 +41,13 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>.\bin_debug\</OutDir>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<IncludePath>C:\tinymux\mux\src\ganl\include;C:\tinymux\mux\src\pcre2\include;$(IncludePath)</IncludePath>
<IncludePath>C:\tinymux\mux\include;C:\tinymux\mux\ganl\include;C:\tinymux\mux\src\pcre2\include;C:\tinymux\mux\sqlite;$(IncludePath)</IncludePath>
<LibraryPath>C:\tinymux\mux\src\pcre2\Debug;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>.\bin_release\</OutDir>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<IncludePath>C:\tinymux\mux\src\ganl\include;C:\tinymux\mux\src\pcre2\include;$(IncludePath)</IncludePath>
<IncludePath>C:\tinymux\mux\include;C:\tinymux\mux\ganl\include;C:\tinymux\mux\src\pcre2\include;C:\tinymux\mux\sqlite;$(IncludePath)</IncludePath>
<LibraryPath>C:\tinymux\mux\src\pcre2\Release;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@ -57,7 +57,7 @@
<HeaderFileName />
</Midl>
<ClCompile>
<PreprocessorDefinitions>_DEBUG;WIN32;_CONSOLE;UNICODE;WOD_REALMS;SQLITE_STORAGE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>_DEBUG;WIN32;_CONSOLE;UNICODE;WOD_REALMS;SQLITE_STORAGE;BUILDING_DRIVER;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
<LanguageStandard>stdcpp17</LanguageStandard>
@ -85,7 +85,7 @@
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>
<PreprocessorDefinitions>NDEBUG;WIN32;_CONSOLE;UNICODE;WOD_REALMS;SQLITE_STORAGE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>NDEBUG;WIN32;_CONSOLE;UNICODE;WOD_REALMS;SQLITE_STORAGE;BUILDING_DRIVER;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
@ -108,7 +108,7 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="alarm.cpp">
<ClCompile Include="src\_build.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
@ -116,7 +116,7 @@
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="alloc.cpp">
<ClCompile Include="src\bsd.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
@ -124,7 +124,7 @@
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="attrcache.cpp">
<ClCompile Include="src\driver.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
@ -132,7 +132,7 @@
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="boolexp.cpp">
<ClCompile Include="src\driver_bridge.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
@ -140,7 +140,7 @@
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="bsd.cpp">
<ClCompile Include="src\ganl_adapter.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
@ -148,7 +148,7 @@
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="command.cpp">
<ClCompile Include="src\modules.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
@ -156,7 +156,7 @@
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="comsys.cpp">
<ClCompile Include="src\muxcli.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
@ -164,7 +164,7 @@
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="conf.cpp">
<ClCompile Include="src\net.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
@ -172,7 +172,7 @@
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="cque.cpp">
<ClCompile Include="src\netaddr.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
@ -180,7 +180,7 @@
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="create.cpp">
<ClCompile Include="src\signals.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
@ -188,7 +188,7 @@
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="db.cpp">
<ClCompile Include="src\sitemon.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
@ -196,7 +196,7 @@
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="db_rw.cpp">
<ClCompile Include="src\telnet.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
@ -204,7 +204,7 @@
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="eval.cpp">
<ClCompile Include="src\version.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
@ -212,487 +212,7 @@
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="file_c.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="flags.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="funceval.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="funceval2.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="functions.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="funmath.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="game.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="help.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="htab.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="levels.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="local.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="log.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="look.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="mail.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="match.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="mathutil.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="mguests.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="modules.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="move.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="muxcli.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="netaddr.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="netcommon.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="object.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="player.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="player_c.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="plusemail.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="powers.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="predicates.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="quota.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="rob.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="set.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="sha1.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="signals.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="sitemon.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="speech.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="stringutil.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="strtod.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="svdhash.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="svdrand.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="telnet.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="timeabsolute.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="timedelta.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="timeparser.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="timer.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="timeutil.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="timezone.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="unparse.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="utf8_normalize.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="utf8_collate.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="utf8_grapheme.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="utf8tables.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="vattr.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="version.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="walkdb.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="wild.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="wiz.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="_build.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="ganl_adapter.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="sqlite\sqlite3.c">
<CompileAs>CompileAsC</CompileAs>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">SQLITE_THREADSAFE=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">SQLITE_THREADSAFE=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<BrowseInformation>false</BrowseInformation>
</ClCompile>
<ClCompile Include="sqlitedb.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Neither</FavorSizeOrSpeed>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</BrowseInformation>
</ClCompile>
<ClCompile Include="sqlite_backend.cpp">
<ClCompile Include="src\websocket.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
<BrowseInformation Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</BrowseInformation>
@ -702,60 +222,33 @@
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="alloc.h" />
<ClInclude Include="ansi.h" />
<ClInclude Include="attrcache.h" />
<ClInclude Include="attrs.h" />
<ClInclude Include="autoconf.h" />
<ClInclude Include="command.h" />
<ClInclude Include="comsys.h" />
<ClInclude Include="config.h" />
<ClInclude Include="copyright.h" />
<ClInclude Include="db.h" />
<ClInclude Include="externs.h" />
<ClInclude Include="file_c.h" />
<ClInclude Include="flags.h" />
<ClInclude Include="functions.h" />
<ClInclude Include="funmath.h" />
<ClInclude Include="help.h" />
<ClInclude Include="htab.h" />
<ClInclude Include="interface.h" />
<ClInclude Include="levels.h" />
<ClInclude Include="libmux.h" />
<ClInclude Include="mail.h" />
<ClInclude Include="match.h" />
<ClInclude Include="mathutil.h" />
<ClInclude Include="mguests.h" />
<ClInclude Include="misc.h" />
<ClInclude Include="modules.h" />
<ClInclude Include="mudconf.h" />
<ClInclude Include="muxcli.h" />
<ClInclude Include="powers.h" />
<ClInclude Include="sha1.h" />
<ClInclude Include="slave.h" />
<ClInclude Include="stringutil.h" />
<ClInclude Include="svdhash.h" />
<ClInclude Include="svdrand.h" />
<ClInclude Include="timeutil.h" />
<ClInclude Include="vattr.h" />
<ClInclude Include="_build.h" />
<ClInclude Include="ganl_adapter.h" />
<ClInclude Include="sqlite\sqlite3.h" />
<ClInclude Include="sqlite\sqlite3ext.h" />
<ClInclude Include="sqlitedb.h" />
<ClInclude Include="sqlite_backend.h" />
<ClInclude Include="storage_backend.h" />
<ClInclude Include="hashfile_backend.h" />
<ClInclude Include="include\_build.h" />
<ClInclude Include="include\config.h" />
<ClInclude Include="include\copyright.h" />
<ClInclude Include="include\driver_bridge.h" />
<ClInclude Include="include\driver_log.h" />
<ClInclude Include="include\driverstate.h" />
<ClInclude Include="include\externs.h" />
<ClInclude Include="include\ganl_adapter.h" />
<ClInclude Include="include\ganl_stub.h" />
<ClInclude Include="include\interface.h" />
<ClInclude Include="include\libmux.h" />
<ClInclude Include="include\modules.h" />
<ClInclude Include="include\muxcli.h" />
<ClInclude Include="include\svdrand.h" />
<ClInclude Include="include\timeutil.h" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="libmux.vcxproj">
<Project>{fea073c1-4f18-42a1-ac39-1a2ec0a65e92}</Project>
<Project>{FEA073C1-4F18-42A1-AC39-1A2EC0A65E92}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="ganl\ganl.vcxproj">
<Project>{a1b2c3d4-e5f6-7890-abcd-ef1234567890}</Project>
<Project>{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -91,7 +91,11 @@ MUX_RESULT init_modules(void)
//
if (MUX_SUCCEEDED(mr))
{
#if defined(WINDOWS_FILES)
mr = mux_AddModule(T("engine"), L"./bin/engine.dll");
#elif defined(UNIX_FILES)
mr = mux_AddModule(T("engine"), T("./bin/engine.so"));
#endif
}
return mr;
}
@ -972,7 +976,9 @@ MUX_RESULT CDriverControl::GetTaskProcessCommand(
MUX_RESULT CDriverControl::DumpRestartDb(void)
{
#if defined(HAVE_WORKING_FORK)
dump_restart_db();
#endif
return MUX_S_OK;
}

View file

@ -84,7 +84,11 @@ static const char *find_header(const char *headers, const char *name)
{
// Find line start.
//
#if defined(WIN32)
if ( 0 == _strnicmp(p, name, nlen)
#else
if ( 0 == strncasecmp(p, name, nlen)
#endif
&& p[nlen] == ':')
{
const char *v = p + nlen + 1;
@ -497,7 +501,7 @@ void ws_process_input(DESC *d, const char *data, size_t len)
//
size_t need = ws->frame_expected - ws->frame_buf.size();
size_t avail = static_cast<size_t>(end - p);
size_t take = std::min(need, avail);
size_t take = (std::min)(need, avail);
ws->frame_buf.append(reinterpret_cast<const char *>(p), take);
p += take;