Changed: #825 Remove all warning when compiling Ryzom

This commit is contained in:
kervala 2010-06-21 22:36:59 +02:00
parent 5b973e3c92
commit fc7a8e8ed4
2 changed files with 8 additions and 11 deletions

View file

@ -484,11 +484,11 @@ void CBitMemStream::serial(float &b)
if ( isReading() ) if ( isReading() )
{ {
internalSerial( uf, sizeof(b)*8 ); internalSerial( uf, sizeof(b)*8 );
b = *(float*)&uf; memcpy(&b, &uf, sizeof(b));
} }
else else
{ {
uf = *(uint32*)&b; memcpy(&uf, &b, sizeof(b));
internalSerial( uf, sizeof(b)*8 ); internalSerial( uf, sizeof(b)*8 );
} }
} }

View file

@ -600,7 +600,7 @@ void CI18N::_readTextFile(const string &filename,
subFilename = CFile::getPath(filename)+subFilename; subFilename = CFile::getPath(filename)+subFilename;
if (!CFile::fileExists(subFilename)) if (!CFile::fileExists(subFilename))
{ {
// not found but optionnal, only emit a debug log // not found but optional, only emit a debug log
// the include file is not found, issue a warning // the include file is not found, issue a warning
nldebug("Preprocess: In file %s(%u) : Cannot include optional file '%s'", nldebug("Preprocess: In file %s(%u) : Cannot include optional file '%s'",
filename.c_str(), currentLine, filename.c_str(), currentLine,
@ -1072,10 +1072,8 @@ uint64 CI18N::makeHash(const ucstring &str)
// convert a hash value to a readable string // convert a hash value to a readable string
string CI18N::hashToString(uint64 hash) string CI18N::hashToString(uint64 hash)
{ {
uint32 *ph = (uint32*)&hash;
char temp[] = "0011223344556677"; char temp[] = "0011223344556677";
sprintf(temp, "%08X%08X", ph[0], ph[1]); sprintf(temp, "%08X%08X", (uint32)(hash & 0xffffffff), (uint32)(hash >> 32));
return string(temp); return string(temp);
} }
@ -1098,20 +1096,19 @@ void CI18N::hashToUCString(uint64 hash, ucstring &dst)
uint64 CI18N::stringToHash(const string &str) uint64 CI18N::stringToHash(const string &str)
{ {
nlassert(str.size() == 16); nlassert(str.size() == 16);
uint32 low, hight; uint32 low, high;
string sl, sh; string sl, sh;
sh = str.substr(0, 8); sh = str.substr(0, 8);
sl = str.substr(8, 8); sl = str.substr(8, 8);
sscanf(sh.c_str(), "%08X", &hight); sscanf(sh.c_str(), "%08X", &high);
sscanf(sl.c_str(), "%08X", &low); sscanf(sl.c_str(), "%08X", &low);
uint64 hash; uint64 hash;
uint32 *ph = (uint32*)&hash;
ph[0] = hight; memcpy(&hash, &high, sizeof(high));
ph[1] = low; memcpy((uint32*)&hash + 1, &low, sizeof(low));
return hash; return hash;
} }