X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=include%2Fshare%2Fcompat.h;h=1857c652e5953518680b0e66dc2919cfa82525e2;hb=7dc5e3a8ff3f1b348580f48cccf4d2fd24d6384e;hp=9c3d35e7d4866ae3b13983e9af2c9d7143f08bbd;hpb=ca7a3cb8227964afe959d0fe5756ebbd995648ef;p=platform%2Fupstream%2Fflac.git diff --git a/include/share/compat.h b/include/share/compat.h index 9c3d35e..1857c65 100644 --- a/include/share/compat.h +++ b/include/share/compat.h @@ -94,27 +94,25 @@ #endif #if defined _MSC_VER || defined __MINGW32__ -#include /* for _setmode() */ +#include /* for _setmode(), chmod() */ #include /* for _O_BINARY */ #endif #if defined __CYGWIN__ || defined __EMX__ -#include /* for setmode(), O_BINARY */ +#include /* for setmode(), chmod() */ #include /* for _O_BINARY */ +#else +#include /* for chown(), unlink() */ #endif - #if defined _MSC_VER || defined __BORLANDC__ || defined __MINGW32__ #if defined __BORLANDC__ #include /* for utime() */ #else #include /* for utime() */ #endif -#include /* for chmod() */ -#include /* for off_t */ #else #include /* some flavors of BSD (like OS X) require this to get time_t */ #include /* for utime() */ -#include /* for chown(), unlink() */ #endif #if defined _MSC_VER @@ -143,4 +141,52 @@ # endif #endif /* defined _MSC_VER */ +#ifdef FLAC__STRINGS_IN_UTF8 /* all char* strings are in UTF-8 format. Added to support Unicode files on Windows */ +#include "share/win_utf8_io.h" + +#define flac_printf printf_utf8 +#define flac_fprintf fprintf_utf8 +#define flac_vfprintf vfprintf_utf8 +#define flac_fopen fopen_utf8 +#define flac_stat _stat64_utf8 +#define flac_chmod chmod_utf8 +#define flac_utime utime_utf8 +#define flac_unlink unlink_utf8 +#define flac_rename rename_utf8 + +#else + +#define flac_printf printf +#define flac_fprintf fprintf +#define flac_vfprintf vfprintf +#define flac_fopen fopen +#ifdef _WIN32 +#define flac_stat _stat64 +#else +#define flac_stat stat +#endif +#define flac_chmod chmod +#define flac_utime utime +#define flac_unlink unlink +#define flac_rename rename +#endif + +#ifdef _WIN32 +#define flac_stat_s _stat64 /* stat struct */ +#define flac_fstat _fstat64 +#else +#define flac_stat_s stat /* stat struct */ +#define flac_fstat fstat +#endif + + +/* FLAC needs to compile and work correctly on systems with a norrmal ISO C99 + * snprintf as well as Microsoft Visual Studio which has an non-standards + * conformant snprint_s function. + * + * This function wraps the MS version to behave more like the the ISO version. + */ + +int flac_snprintf(char *str, size_t size, const char *fmt, ...); + #endif /* FLAC__SHARE__COMPAT_H */