ICC build fixes
warning fixes get rid of SAFE_WCSCPY and SAFE_STRCPY This was SVN commit r7239.
This commit is contained in:
parent
5a53b3183a
commit
03726c0b54
@ -127,7 +127,7 @@ public:
|
||||
copyFile(srcDAE, testDAE);
|
||||
//buildArchive();
|
||||
shared_ptr<u8> buf = io_Allocate(100);
|
||||
SAFE_STRCPY((char*)buf.get(), "Test");
|
||||
strcpy_s((char*)buf.get(), 5, "Test");
|
||||
g_VFS->CreateFile(testDAE, buf, 4);
|
||||
}
|
||||
|
||||
@ -189,7 +189,7 @@ public:
|
||||
|
||||
copyFile(srcDAE, testDAE);
|
||||
shared_ptr<u8> buf = io_Allocate(100);
|
||||
SAFE_STRCPY((char*)buf.get(), "Not valid XML");
|
||||
strcpy_s((char*)buf.get(), 100, "Not valid XML");
|
||||
g_VFS->CreateFile(testSkeletonDefs, buf, 13);
|
||||
|
||||
CModelDefPtr modeldef = meshManager->GetMesh(testDAE);
|
||||
@ -203,7 +203,7 @@ public:
|
||||
|
||||
copyFile(srcSkeletonDefs, testSkeletonDefs);
|
||||
shared_ptr<u8> buf = io_Allocate(100);
|
||||
SAFE_STRCPY((char*)buf.get(), "Not valid XML");
|
||||
strcpy_s((char*)buf.get(), 100, "Not valid XML");
|
||||
g_VFS->CreateFile(testDAE, buf, 13);
|
||||
|
||||
CModelDefPtr modeldef = meshManager->GetMesh(testDAE);
|
||||
|
@ -269,7 +269,7 @@ void CMiniMap::Draw()
|
||||
m_Width = (u32)(m_CachedActualSize.right - m_CachedActualSize.left);
|
||||
m_Height = (u32)(m_CachedActualSize.bottom - m_CachedActualSize.top);
|
||||
m_MapSize = m_Terrain->GetVerticesPerSide();
|
||||
m_TextureSize = round_up_to_pow2(m_MapSize);
|
||||
m_TextureSize = (GLsizei)round_up_to_pow2((size_t)m_MapSize);
|
||||
|
||||
m_scaleX = float(m_Width) / float(m_MapSize - 1);
|
||||
m_scaleY = float(m_Height) / float(m_MapSize - 1);
|
||||
|
@ -108,17 +108,6 @@ switch(x % 2)
|
||||
#define NODEFAULT default: UNREACHABLE
|
||||
|
||||
|
||||
/**
|
||||
* equivalent to strcpy, but indicates that the programmer checked usage and
|
||||
* promises it is safe.
|
||||
*
|
||||
* (this macro prevents actually-safe instances of the function from
|
||||
* showing up in searches)
|
||||
**/
|
||||
#define SAFE_STRCPY str##cpy
|
||||
#define SAFE_WCSCPY wcs##cpy
|
||||
|
||||
|
||||
// generate a symbol containing the line number of the macro invocation.
|
||||
// used to give a unique name (per file) to types made by cassert.
|
||||
// we can't prepend __FILE__ to make it globally unique - the filename
|
||||
|
@ -75,7 +75,7 @@ void debug_wprintf_mem(const wchar_t* fmt, ...)
|
||||
// write into buffer (in-place)
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
int len = vswprintf(debug_log_pos, charsLeft-2, fmt, args);
|
||||
int len = vswprintf_s(debug_log_pos, charsLeft-2, fmt, args);
|
||||
|
||||
va_end(args);
|
||||
debug_log_pos += len+2;
|
||||
|
@ -36,13 +36,13 @@ ERROR_ASSOCIATE(ERR::STL_CNT_INVALID, L"Container type is known but contents are
|
||||
|
||||
|
||||
// used in debug_stl_simplify_name.
|
||||
// note: strcpy is safe because replacement happens in-place and
|
||||
// src is longer than dst (otherwise, we wouldn't be replacing).
|
||||
// note: wcscpy_s is safe because replacement happens in-place and
|
||||
// <what> is longer than <with> (otherwise, we wouldn't be replacing).
|
||||
#define REPLACE(what, with)\
|
||||
else if(!wcsncmp(src, (what), ARRAY_SIZE(what)-1))\
|
||||
{\
|
||||
src += ARRAY_SIZE(what)-1-1; /* see preincrement rationale*/\
|
||||
SAFE_WCSCPY(dst, (with));\
|
||||
wcscpy_s(dst, ARRAY_SIZE(what), (with));\
|
||||
dst += ARRAY_SIZE(with)-1;\
|
||||
}
|
||||
#define STRIP(what)\
|
||||
|
@ -133,7 +133,7 @@ void NextNumberedFilename(const PIVFS& fs, const VfsPath& pathnameFormat, size_t
|
||||
for(size_t i = 0; i < files.size(); i++)
|
||||
{
|
||||
int number;
|
||||
if(swscanf(files[i].Name().c_str(), nameFormat.c_str(), &number) == 1)
|
||||
if(swscanf_s(files[i].Name().c_str(), nameFormat.c_str(), &number) == 1)
|
||||
maxNumber = std::max(size_t(number), maxNumber);
|
||||
}
|
||||
|
||||
|
@ -34,7 +34,7 @@ void WriteBuffer::Append(const void* data, size_t size)
|
||||
{
|
||||
if(m_size + size > m_capacity)
|
||||
{
|
||||
m_capacity = round_up_to_pow2((size_t)(m_size + size));
|
||||
m_capacity = round_up_to_pow2(m_size + size);
|
||||
shared_ptr<u8> newData = io_Allocate(m_capacity);
|
||||
cpu_memcpy(newData.get(), m_data.get(), m_size);
|
||||
m_data = newData;
|
||||
|
@ -174,7 +174,7 @@ bool ogl_HaveExtension(const char* ext)
|
||||
bool ogl_HaveVersion(const char* desired_version)
|
||||
{
|
||||
int desired_major, desired_minor;
|
||||
if(sscanf(desired_version, "%d.%d", &desired_major, &desired_minor) != 2)
|
||||
if(sscanf_s(desired_version, "%d.%d", &desired_major, &desired_minor) != 2)
|
||||
{
|
||||
debug_assert(0); // invalid version string
|
||||
return false;
|
||||
@ -182,7 +182,7 @@ bool ogl_HaveVersion(const char* desired_version)
|
||||
|
||||
int major, minor;
|
||||
const char* version = (const char*)glGetString(GL_VERSION);
|
||||
if(!version || sscanf(version, "%d.%d", &major, &minor) != 2)
|
||||
if(!version || sscanf_s(version, "%d.%d", &major, &minor) != 2)
|
||||
{
|
||||
debug_assert(0); // GL_VERSION invalid
|
||||
return false;
|
||||
|
@ -97,7 +97,7 @@ wchar_t* wcsdup(const wchar_t* str)
|
||||
wchar_t* dst = (wchar_t*)malloc((num_chars+1)*sizeof(wchar_t)); // note: wcsdup is required to use malloc
|
||||
if(!dst)
|
||||
return 0;
|
||||
SAFE_WCSCPY(dst, str);
|
||||
wcscpy_s(dst, num_chars, str);
|
||||
return dst;
|
||||
}
|
||||
#endif
|
||||
|
@ -88,10 +88,10 @@ need only be renamed (e.g. _open, _stat).
|
||||
|
||||
// VC doesn't define str[n]casecmp
|
||||
#if MSC_VERSION
|
||||
#define strcasecmp stricmp
|
||||
#define strncasecmp strnicmp
|
||||
#define wcscasecmp wcsicmp
|
||||
#define wcsncasecmp wcsnicmp
|
||||
#define strcasecmp _stricmp
|
||||
#define strncasecmp _strnicmp
|
||||
#define wcscasecmp _wcsicmp
|
||||
#define wcsncasecmp _wcsnicmp
|
||||
#endif
|
||||
|
||||
#if OS_MACOSX
|
||||
|
@ -613,7 +613,7 @@ static LibError h_free_idx(ssize_t idx, HDATA* hd)
|
||||
{
|
||||
wchar_t buf[H_STRING_LEN];
|
||||
if(vtbl->to_string(hd->user, buf) < 0)
|
||||
SAFE_WCSCPY(buf, L"(error)");
|
||||
wcscpy_s(buf, ARRAY_SIZE(buf), L"(error)");
|
||||
debug_printf(L"H_MGR| free %ls %ls accesses=%lu %ls\n", hd->type->name, hd->pathname.string().c_str(), (unsigned long)hd->num_derefs, buf);
|
||||
}
|
||||
#endif
|
||||
|
@ -471,81 +471,88 @@ static void ExtractDescriptors(u32 reg, std::vector<u8>& descriptors)
|
||||
}
|
||||
}
|
||||
|
||||
static void DecodeDescriptor(u8 descriptor)
|
||||
// note: the following cannot reside in DecodeDescriptor because
|
||||
// ARRAY_SIZE's template argument must not reference a local type.
|
||||
|
||||
enum Flags
|
||||
{
|
||||
enum Flags
|
||||
{
|
||||
// type (unified := neither bit set)
|
||||
I = 0x01,
|
||||
D = 0x02,
|
||||
// type (unified := neither bit set)
|
||||
I = 0x01,
|
||||
D = 0x02,
|
||||
|
||||
// level
|
||||
L2 = 0x04,
|
||||
// level
|
||||
L2 = 0x04,
|
||||
|
||||
// size
|
||||
S4K = 0x08,
|
||||
S4M = 0x10,
|
||||
S2M = 0x20
|
||||
};
|
||||
|
||||
struct Properties
|
||||
{
|
||||
int flags; // pageSize, type, level
|
||||
u8 descriptor;
|
||||
u8 associativity;
|
||||
u16 entries;
|
||||
};
|
||||
|
||||
static const u8 F = x86_x64_fullyAssociative;
|
||||
|
||||
// size
|
||||
S4K = 0x08,
|
||||
S4M = 0x10,
|
||||
S2M = 0x20
|
||||
};
|
||||
struct Properties
|
||||
{
|
||||
int flags; // pageSize, type, level
|
||||
u8 descriptor;
|
||||
u8 associativity;
|
||||
u16 entries;
|
||||
};
|
||||
const u8 F = x86_x64_fullyAssociative;
|
||||
#define PROPERTIES(descriptor, flags, assoc, entries) { flags, descriptor, assoc, entries }
|
||||
// references: [accessed 2009-01-05]
|
||||
// AP485 http://download.intel.com/design/processor/applnots/241618033.pdf
|
||||
// sandp http://www.sandpile.org/ia32/cpuid.htm
|
||||
// opsol http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/i86pc/os/cpuid.c
|
||||
static const Properties propertyTable[] =
|
||||
{
|
||||
PROPERTIES(0x01, I|S4K, 4, 32),
|
||||
PROPERTIES(0x02, I|S4M, F, 2),
|
||||
PROPERTIES(0x03, D|S4K, 4, 64),
|
||||
PROPERTIES(0x04, D|S4M, 4, 8),
|
||||
PROPERTIES(0x05, D|S4M, 4, 32),
|
||||
PROPERTIES(0x0B, I|S4M, 4, 4),
|
||||
PROPERTIES(0x4F, I|S4K, F, 32), // sandp: unknown assoc, opsol: full, AP485: unmentioned
|
||||
PROPERTIES(0x50, I|S4K, F, 64),
|
||||
PROPERTIES(0x50, I|S4M, F, 64),
|
||||
PROPERTIES(0x50, I|S2M, F, 64),
|
||||
PROPERTIES(0x51, I|S4K, F, 128),
|
||||
PROPERTIES(0x51, I|S4M, F, 128),
|
||||
PROPERTIES(0x51, I|S2M, F, 128),
|
||||
PROPERTIES(0x52, I|S4K, F, 256),
|
||||
PROPERTIES(0x52, I|S4M, F, 256),
|
||||
PROPERTIES(0x52, I|S2M, F, 256),
|
||||
PROPERTIES(0x55, I|S4M, F, 7),
|
||||
PROPERTIES(0x55, I|S2M, F, 7),
|
||||
PROPERTIES(0x56, D|S4M, 4, 16),
|
||||
PROPERTIES(0x57, D|S4K, 4, 16),
|
||||
PROPERTIES(0x59, D|S4K, F, 16),
|
||||
PROPERTIES(0x5A, D|S4M, 4, 32),
|
||||
PROPERTIES(0x5A, D|S2M, 4, 32),
|
||||
PROPERTIES(0x5B, D|S4K, F, 64),
|
||||
PROPERTIES(0x5B, D|S4M, F, 64),
|
||||
PROPERTIES(0x5C, D|S4K, F, 128),
|
||||
PROPERTIES(0x5C, D|S4M, F, 128),
|
||||
PROPERTIES(0x5D, D|S4K, F, 256),
|
||||
PROPERTIES(0x5D, D|S4M, F, 256),
|
||||
PROPERTIES(0xB0, I|S4K, 4, 128),
|
||||
PROPERTIES(0xB1, I|S2M, 4, 8),
|
||||
PROPERTIES(0xB1, I|S4M, 4, 4),
|
||||
PROPERTIES(0xB2, I|S4K, 4, 64),
|
||||
PROPERTIES(0xB3, D|S4K, 4, 128),
|
||||
PROPERTIES(0xB3, D|S4M, 4, 128),
|
||||
PROPERTIES(0xB4, D|S4K, 4, 256),
|
||||
PROPERTIES(0xB4, D|S4M, 4, 256),
|
||||
PROPERTIES(0xBA, D|S4K, 4, 64),
|
||||
PROPERTIES(0xC0, D|S4K, 4, 8),
|
||||
PROPERTIES(0xC0, D|S4M, 4, 8),
|
||||
PROPERTIES(0xCA, S4K|L2, 4, 512),
|
||||
};
|
||||
|
||||
// references: [accessed 2009-01-05]
|
||||
// AP485 http://download.intel.com/design/processor/applnots/241618033.pdf
|
||||
// sandp http://www.sandpile.org/ia32/cpuid.htm
|
||||
// opsol http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/i86pc/os/cpuid.c
|
||||
static const Properties propertyTable[] =
|
||||
{
|
||||
PROPERTIES(0x01, I|S4K, 4, 32),
|
||||
PROPERTIES(0x02, I|S4M, F, 2),
|
||||
PROPERTIES(0x03, D|S4K, 4, 64),
|
||||
PROPERTIES(0x04, D|S4M, 4, 8),
|
||||
PROPERTIES(0x05, D|S4M, 4, 32),
|
||||
PROPERTIES(0x0B, I|S4M, 4, 4),
|
||||
PROPERTIES(0x4F, I|S4K, F, 32), // sandp: unknown assoc, opsol: full, AP485: unmentioned
|
||||
PROPERTIES(0x50, I|S4K, F, 64),
|
||||
PROPERTIES(0x50, I|S4M, F, 64),
|
||||
PROPERTIES(0x50, I|S2M, F, 64),
|
||||
PROPERTIES(0x51, I|S4K, F, 128),
|
||||
PROPERTIES(0x51, I|S4M, F, 128),
|
||||
PROPERTIES(0x51, I|S2M, F, 128),
|
||||
PROPERTIES(0x52, I|S4K, F, 256),
|
||||
PROPERTIES(0x52, I|S4M, F, 256),
|
||||
PROPERTIES(0x52, I|S2M, F, 256),
|
||||
PROPERTIES(0x55, I|S4M, F, 7),
|
||||
PROPERTIES(0x55, I|S2M, F, 7),
|
||||
PROPERTIES(0x56, D|S4M, 4, 16),
|
||||
PROPERTIES(0x57, D|S4K, 4, 16),
|
||||
PROPERTIES(0x59, D|S4K, F, 16),
|
||||
PROPERTIES(0x5A, D|S4M, 4, 32),
|
||||
PROPERTIES(0x5A, D|S2M, 4, 32),
|
||||
PROPERTIES(0x5B, D|S4K, F, 64),
|
||||
PROPERTIES(0x5B, D|S4M, F, 64),
|
||||
PROPERTIES(0x5C, D|S4K, F, 128),
|
||||
PROPERTIES(0x5C, D|S4M, F, 128),
|
||||
PROPERTIES(0x5D, D|S4K, F, 256),
|
||||
PROPERTIES(0x5D, D|S4M, F, 256),
|
||||
PROPERTIES(0xB0, I|S4K, 4, 128),
|
||||
PROPERTIES(0xB1, I|S2M, 4, 8),
|
||||
PROPERTIES(0xB1, I|S4M, 4, 4),
|
||||
PROPERTIES(0xB2, I|S4K, 4, 64),
|
||||
PROPERTIES(0xB3, D|S4K, 4, 128),
|
||||
PROPERTIES(0xB3, D|S4M, 4, 128),
|
||||
PROPERTIES(0xB4, D|S4K, 4, 256),
|
||||
PROPERTIES(0xB4, D|S4M, 4, 256),
|
||||
PROPERTIES(0xBA, D|S4K, 4, 64),
|
||||
PROPERTIES(0xC0, D|S4K, 4, 8),
|
||||
PROPERTIES(0xC0, D|S4M, 4, 8),
|
||||
PROPERTIES(0xCA, S4K|L2, 4, 512),
|
||||
};
|
||||
#undef PROPERTIES
|
||||
|
||||
static void DecodeDescriptor(u8 descriptor)
|
||||
{
|
||||
// note: we can't use bsearch because propertyTable may contain multiple
|
||||
// entries with the same descriptor key.
|
||||
for(size_t i = 0; i < ARRAY_SIZE(propertyTable); i++)
|
||||
|
@ -32,7 +32,7 @@ static LibError SetClipboardText(const wchar_t* text, HGLOBAL* hMem)
|
||||
wchar_t* lockedText = (wchar_t*)GlobalLock(*hMem);
|
||||
if(!lockedText)
|
||||
WARN_RETURN(ERR::NO_MEM);
|
||||
SAFE_WCSCPY(lockedText, text);
|
||||
wcscpy_s(lockedText, len, text);
|
||||
GlobalUnlock(*hMem);
|
||||
|
||||
HANDLE hData = SetClipboardData(CF_UNICODETEXT, *hMem);
|
||||
@ -73,13 +73,13 @@ static wchar_t* CopyClipboardContents()
|
||||
if(!hMem)
|
||||
return 0;
|
||||
|
||||
wchar_t* lockedText = (wchar_t*)GlobalLock(hMem);
|
||||
const wchar_t* lockedText = (const wchar_t*)GlobalLock(hMem);
|
||||
if(!lockedText)
|
||||
return 0;
|
||||
|
||||
const SIZE_T size = GlobalSize(hMem);
|
||||
wchar_t* text = new wchar_t[size+1];
|
||||
SAFE_WCSCPY(text, lockedText);
|
||||
const size_t numChars = GlobalSize(hMem)/sizeof(wchar_t) - 1;
|
||||
wchar_t* text = new wchar_t[numChars+1];
|
||||
wcscpy_s(text, numChars+1, lockedText);
|
||||
|
||||
GlobalUnlock(hMem);
|
||||
|
||||
|
@ -511,7 +511,7 @@ static void out(const wchar_t* fmt, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
int len = vswprintf(out_pos, out_chars_left, fmt, args);
|
||||
int len = vswprintf_s(out_pos, out_chars_left, fmt, args);
|
||||
va_end(args);
|
||||
|
||||
// success
|
||||
@ -545,7 +545,7 @@ static void out(const wchar_t* fmt, ...)
|
||||
// we'll just put the warning before out_pos and eat into the
|
||||
// second newest text.
|
||||
const wchar_t text[] = L"(no more room in buffer)";
|
||||
wcscpy(out_pos-ARRAY_SIZE(text), text); // safe
|
||||
wcscpy_s(out_pos-ARRAY_SIZE(text), ARRAY_SIZE(text), text); // safe
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -22,7 +22,13 @@
|
||||
#include "precompiled.h"
|
||||
#include "hpet.h"
|
||||
|
||||
#include <emmintrin.h> // for atomic 64-bit read/write
|
||||
// for atomic 64-bit read/write:
|
||||
#define HAVE_X64_MOVD ARCH_AMD64 && (ICC_VERSION || MSC_VERSION >= 1500)
|
||||
#if HAVE_X64_MOVD
|
||||
# include <intrin.h>
|
||||
#else
|
||||
# include <emmintrin.h>
|
||||
#endif
|
||||
|
||||
#include "counter.h"
|
||||
|
||||
@ -163,8 +169,6 @@ private:
|
||||
return INFO::OK;
|
||||
}
|
||||
|
||||
#define HAVE_X64_MOVD ARCH_AMD64 && (ICC_VERSION || MSC_VERSION >= 1500)
|
||||
|
||||
// note: this is atomic even on 32-bit CPUs (Pentium MMX and
|
||||
// above have a 64-bit data bus and MOVQ instruction)
|
||||
u64 Read64(size_t offset) const
|
||||
|
@ -172,7 +172,7 @@ static bool IsAioPossible(int fd, bool is_com_port, int oflag)
|
||||
|
||||
int sys_wopen(const wchar_t* pathname, int oflag, ...)
|
||||
{
|
||||
mode_t mode = 0;
|
||||
mode_t mode = _S_IREAD|_S_IWRITE;
|
||||
if(oflag & O_CREAT)
|
||||
{
|
||||
va_list args;
|
||||
@ -181,8 +181,15 @@ int sys_wopen(const wchar_t* pathname, int oflag, ...)
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
WinScopedPreserveLastError s; // _wopen's CreateFileW
|
||||
int fd = _wopen(pathname, oflag, mode);
|
||||
WinScopedPreserveLastError s; // _wsopen_s's CreateFileW
|
||||
int fd;
|
||||
errno_t ret = _wsopen_s(&fd, pathname, oflag, _SH_DENYNO, mode);
|
||||
if(ret != 0)
|
||||
{
|
||||
errno = ret;
|
||||
WARN_ERR(LibError_from_errno());
|
||||
return -1;
|
||||
}
|
||||
|
||||
// if possible, re-open the file for aio (this works because
|
||||
// the initial _wopen defaults to DENY_NONE sharing)
|
||||
|
@ -35,7 +35,7 @@ int uname(struct utsname* un)
|
||||
// release info
|
||||
const char* vs = vi.szCSDVersion;
|
||||
int sp;
|
||||
if(sscanf(vs, "Service Pack %d", &sp) == 1)
|
||||
if(sscanf_s(vs, "Service Pack %d", &sp) == 1)
|
||||
sprintf_s(un->release, ARRAY_SIZE(un->release), "SP %d", sp);
|
||||
|
||||
// version
|
||||
|
@ -817,7 +817,7 @@ static void mouse_update()
|
||||
active_change_state(LOSE, SDL_APPMOUSEFOCUS);
|
||||
}
|
||||
|
||||
static size_t mouse_buttons;
|
||||
static unsigned mouse_buttons;
|
||||
|
||||
// (we define a new function signature since the windowsx.h message crackers
|
||||
// don't provide for passing uMsg)
|
||||
@ -1256,7 +1256,9 @@ static LibError wsdl_Init()
|
||||
// to avoid the OS opening a console on startup (ugly). that means
|
||||
// stdout isn't associated with a lowio handle; _close ends up
|
||||
// getting called with fd = -1. oh well, nothing we can do.
|
||||
FILE* f = _wfreopen(path.string().c_str(), L"wt", stdout);
|
||||
FILE* f = 0;
|
||||
errno_t ret = _wfreopen_s(&f, path.string().c_str(), L"wt", stdout);
|
||||
debug_assert(ret == 0);
|
||||
debug_assert(f);
|
||||
|
||||
#if CONFIG_PARANOIA
|
||||
|
@ -172,7 +172,7 @@ enum SDL_MouseButtonEvent_button
|
||||
SDL_BUTTON_WHEELDOWN = 5
|
||||
};
|
||||
|
||||
#define SDL_BUTTON(b) (SDL_PRESSED << (b-1))
|
||||
#define SDL_BUTTON(b) (1u << (b-1))
|
||||
#define SDL_BUTTON_LMASK SDL_BUTTON(SDL_BUTTON_LEFT)
|
||||
#define SDL_BUTTON_MMASK SDL_BUTTON(SDL_BUTTON_MIDDLE)
|
||||
#define SDL_BUTTON_RMASK SDL_BUTTON(SDL_BUTTON_RIGHT)
|
||||
|
@ -40,7 +40,7 @@ void snd_detect()
|
||||
#else
|
||||
// At least reset the values for unhandled platforms.
|
||||
debug_assert(SND_CARD_LEN >= 8 && SND_DRV_VER_LEN >= 8); // protect strcpy
|
||||
SAFE_WCSCPY(snd_card, L"Unknown");
|
||||
SAFE_WCSCPY(snd_drv_ver, L"Unknown");
|
||||
wcscpy_s(snd_card, ARRAY_SIZE(snd_card), L"Unknown");
|
||||
wcscpy_s(snd_drv_ver, ARRAY_SIZE(snd_drv_ver), L"Unknown");
|
||||
#endif
|
||||
}
|
||||
|
@ -178,7 +178,7 @@ void CLogger::Log(ELogMethod method, const wchar_t* UNUSED(category), const wcha
|
||||
if (sys_vswprintf(buffer, ARRAY_SIZE(buffer), fmt, argp) == -1)
|
||||
{
|
||||
// Buffer too small - ensure the string is nicely terminated
|
||||
SAFE_WCSCPY(buffer+ARRAY_SIZE(buffer)-4, L"...");
|
||||
wcscpy_s(buffer+ARRAY_SIZE(buffer)-4, 4, L"...");
|
||||
}
|
||||
va_end(argp);
|
||||
|
||||
@ -195,7 +195,7 @@ void CLogger::LogOnce(ELogMethod method, const wchar_t* UNUSED(category), const
|
||||
if (sys_vswprintf(buffer, ARRAY_SIZE(buffer), fmt, argp) == -1)
|
||||
{
|
||||
// Buffer too small - ensure the string is nicely terminated
|
||||
SAFE_WCSCPY(buffer+ARRAY_SIZE(buffer)-4, L"...");
|
||||
wcscpy_s(buffer+ARRAY_SIZE(buffer)-4, 4, L"...");
|
||||
}
|
||||
va_end(argp);
|
||||
|
||||
@ -219,7 +219,7 @@ void CLogger::LogMessage(const wchar_t* fmt, ...)
|
||||
if (sys_vswprintf(buffer, sizeof(buffer), fmt, argp) == -1)
|
||||
{
|
||||
// Buffer too small - ensure the string is nicely terminated
|
||||
SAFE_WCSCPY(buffer+ARRAY_SIZE(buffer)-4, L"...");
|
||||
wcscpy_s(buffer+ARRAY_SIZE(buffer)-4, 4, L"...");
|
||||
}
|
||||
va_end(argp);
|
||||
|
||||
@ -235,7 +235,7 @@ void CLogger::LogWarning(const wchar_t* fmt, ...)
|
||||
if (sys_vswprintf(buffer, sizeof(buffer), fmt, argp) == -1)
|
||||
{
|
||||
// Buffer too small - ensure the string is nicely terminated
|
||||
SAFE_WCSCPY(buffer+ARRAY_SIZE(buffer)-4, L"...");
|
||||
wcscpy_s(buffer+ARRAY_SIZE(buffer)-4, 4, L"...");
|
||||
}
|
||||
va_end(argp);
|
||||
|
||||
@ -251,7 +251,7 @@ void CLogger::LogError(const wchar_t* fmt, ...)
|
||||
if (sys_vswprintf(buffer, sizeof(buffer), fmt, argp) == -1)
|
||||
{
|
||||
// Buffer too small - ensure the string is nicely terminated
|
||||
SAFE_WCSCPY(buffer+ARRAY_SIZE(buffer)-4, L"...");
|
||||
wcscpy_s(buffer+ARRAY_SIZE(buffer)-4, 4, L"...");
|
||||
}
|
||||
va_end(argp);
|
||||
|
||||
|
@ -89,7 +89,7 @@ namespace ConfigNamespace_JS
|
||||
|
||||
void SetNamespace(JSContext *cx, JSObject *obj, EConfigNamespace cfgNs)
|
||||
{
|
||||
JS_SetPrivate(cx, obj, (void *)((int)cfgNs << 1)); // JS requires bottom bit = 0
|
||||
JS_SetPrivate(cx, obj, (void *)((uintptr_t)cfgNs << 1)); // JS requires bottom bit = 0
|
||||
}
|
||||
|
||||
JSBool WriteFile( JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval )
|
||||
|
@ -299,8 +299,8 @@ void ShadowMapInternals::CreateTexture()
|
||||
else
|
||||
{
|
||||
// get shadow map size as next power of two up from view width and height
|
||||
Width = round_up_to_pow2(g_Renderer.GetWidth());
|
||||
Height = round_up_to_pow2(g_Renderer.GetHeight());
|
||||
Width = (int)round_up_to_pow2((unsigned)g_Renderer.GetWidth());
|
||||
Height = (int)round_up_to_pow2((unsigned)g_Renderer.GetHeight());
|
||||
}
|
||||
// Clamp to the maximum texture size
|
||||
Width = std::min(Width, (int)ogl_max_tex_size);
|
||||
|
@ -143,7 +143,7 @@ int WaterManager::LoadWaterTextures()
|
||||
// the reflection/reflaction images will fit within the window
|
||||
// (alternative: use FBO's, which can have arbitrary size - but do we need
|
||||
// the reflection/refraction textures to be that large?)
|
||||
int size = round_up_to_pow2(g_Renderer.GetHeight());
|
||||
int size = (int)round_up_to_pow2((unsigned)g_Renderer.GetHeight());
|
||||
if(size > g_Renderer.GetHeight()) size /= 2;
|
||||
m_ReflectionTextureSize = size;
|
||||
m_RefractionTextureSize = size;
|
||||
|
Loading…
Reference in New Issue
Block a user