| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #include "../../include/fxcrt/fx_basic.h" | 7 #include "../../include/fxcrt/fx_basic.h" |
| 8 #if _FXM_PLATFORM_ != _FXM_PLATFORM_WINDOWS_ | 8 #if _FXM_PLATFORM_ != _FXM_PLATFORM_WINDOWS_ |
| 9 #include <sys/types.h> | 9 #include <sys/types.h> |
| 10 #include <dirent.h> | 10 #include <dirent.h> |
| 11 #else | 11 #else |
| 12 #include <direct.h> | 12 #include <direct.h> |
| 13 #endif | 13 #endif |
| 14 CFX_PrivateData::~CFX_PrivateData() | 14 CFX_PrivateData::~CFX_PrivateData() |
| 15 { | 15 { |
| 16 ClearAll(); | 16 ClearAll(); |
| 17 } | 17 } |
| 18 void FX_PRIVATEDATA::FreeData() | 18 void FX_PRIVATEDATA::FreeData() |
| 19 { | 19 { |
| 20 if (m_pData == NULL) { | 20 if (m_pData == NULL) { |
| 21 return; | 21 return; |
| 22 } | 22 } |
| 23 if (m_bSelfDestruct) { | 23 if (m_bSelfDestruct) { |
| 24 delete (CFX_DestructObject*)m_pData; | 24 delete (CFX_DestructObject*)m_pData; |
| 25 } else if (m_pCallback) { | 25 } else if (m_pCallback) { |
| 26 m_pCallback(m_pData); | 26 m_pCallback(m_pData); |
| 27 } | 27 } |
| 28 } | 28 } |
| 29 void CFX_PrivateData::AddData(void* pModuleId, void* pData, PD_CALLBACK_FREEDATA
callback, FX_BOOL bSelfDestruct) | 29 void CFX_PrivateData::AddData(void* pModuleId, void* pData, PD_CALLBACK_FREEDATA
callback, bool bSelfDestruct) |
| 30 { | 30 { |
| 31 if (pModuleId == NULL) { | 31 if (pModuleId == NULL) { |
| 32 return; | 32 return; |
| 33 } | 33 } |
| 34 FX_PRIVATEDATA* pList = m_DataList.GetData(); | 34 FX_PRIVATEDATA* pList = m_DataList.GetData(); |
| 35 int count = m_DataList.GetSize(); | 35 int count = m_DataList.GetSize(); |
| 36 for (int i = 0; i < count; i ++) { | 36 for (int i = 0; i < count; i ++) { |
| 37 if (pList[i].m_pModuleId == pModuleId) { | 37 if (pList[i].m_pModuleId == pModuleId) { |
| 38 pList[i].FreeData(); | 38 pList[i].FreeData(); |
| 39 pList[i].m_pData = pData; | 39 pList[i].m_pData = pData; |
| 40 pList[i].m_pCallback = callback; | 40 pList[i].m_pCallback = callback; |
| 41 return; | 41 return; |
| 42 } | 42 } |
| 43 } | 43 } |
| 44 FX_PRIVATEDATA data = {pModuleId, pData, callback, bSelfDestruct}; | 44 FX_PRIVATEDATA data = {pModuleId, pData, callback, bSelfDestruct}; |
| 45 m_DataList.Add(data); | 45 m_DataList.Add(data); |
| 46 } | 46 } |
| 47 void CFX_PrivateData::SetPrivateData(void* pModuleId, void* pData, PD_CALLBACK_F
REEDATA callback) | 47 void CFX_PrivateData::SetPrivateData(void* pModuleId, void* pData, PD_CALLBACK_F
REEDATA callback) |
| 48 { | 48 { |
| 49 AddData(pModuleId, pData, callback, FALSE); | 49 AddData(pModuleId, pData, callback, false); |
| 50 } | 50 } |
| 51 void CFX_PrivateData::SetPrivateObj(void* pModuleId, CFX_DestructObject* pObj) | 51 void CFX_PrivateData::SetPrivateObj(void* pModuleId, CFX_DestructObject* pObj) |
| 52 { | 52 { |
| 53 AddData(pModuleId, pObj, NULL, TRUE); | 53 AddData(pModuleId, pObj, NULL, true); |
| 54 } | 54 } |
| 55 FX_BOOL CFX_PrivateData::RemovePrivateData(void* pModuleId) | 55 bool CFX_PrivateData::RemovePrivateData(void* pModuleId) |
| 56 { | 56 { |
| 57 if (pModuleId == NULL) { | 57 if (pModuleId == NULL) { |
| 58 return FALSE; | 58 return false; |
| 59 } | 59 } |
| 60 FX_PRIVATEDATA* pList = m_DataList.GetData(); | 60 FX_PRIVATEDATA* pList = m_DataList.GetData(); |
| 61 int count = m_DataList.GetSize(); | 61 int count = m_DataList.GetSize(); |
| 62 for (int i = 0; i < count; i ++) { | 62 for (int i = 0; i < count; i ++) { |
| 63 if (pList[i].m_pModuleId == pModuleId) { | 63 if (pList[i].m_pModuleId == pModuleId) { |
| 64 m_DataList.RemoveAt(i); | 64 m_DataList.RemoveAt(i); |
| 65 return TRUE; | 65 return true; |
| 66 } | 66 } |
| 67 } | 67 } |
| 68 return FALSE; | 68 return false; |
| 69 } | 69 } |
| 70 void* CFX_PrivateData::GetPrivateData(void* pModuleId) | 70 void* CFX_PrivateData::GetPrivateData(void* pModuleId) |
| 71 { | 71 { |
| 72 if (pModuleId == NULL) { | 72 if (pModuleId == NULL) { |
| 73 return NULL; | 73 return NULL; |
| 74 } | 74 } |
| 75 FX_PRIVATEDATA* pList = m_DataList.GetData(); | 75 FX_PRIVATEDATA* pList = m_DataList.GetData(); |
| 76 int count = m_DataList.GetSize(); | 76 int count = m_DataList.GetSize(); |
| 77 for (int i = 0; i < count; i ++) { | 77 for (int i = 0; i < count; i ++) { |
| 78 if (pList[i].m_pModuleId == pModuleId) { | 78 if (pList[i].m_pModuleId == pModuleId) { |
| 79 return pList[i].m_pData; | 79 return pList[i].m_pData; |
| 80 } | 80 } |
| 81 } | 81 } |
| 82 return NULL; | 82 return NULL; |
| 83 } | 83 } |
| 84 void CFX_PrivateData::ClearAll() | 84 void CFX_PrivateData::ClearAll() |
| 85 { | 85 { |
| 86 FX_PRIVATEDATA* pList = m_DataList.GetData(); | 86 FX_PRIVATEDATA* pList = m_DataList.GetData(); |
| 87 int count = m_DataList.GetSize(); | 87 int count = m_DataList.GetSize(); |
| 88 for (int i = 0; i < count; i ++) { | 88 for (int i = 0; i < count; i ++) { |
| 89 pList[i].FreeData(); | 89 pList[i].FreeData(); |
| 90 } | 90 } |
| 91 m_DataList.RemoveAll(); | 91 m_DataList.RemoveAll(); |
| 92 } | 92 } |
| 93 void FX_atonum(const CFX_ByteStringC& strc, FX_BOOL& bInteger, void* pData) | 93 void FX_atonum(const CFX_ByteStringC& strc, bool& bInteger, void* pData) |
| 94 { | 94 { |
| 95 if (FXSYS_memchr(strc.GetPtr(), '.', strc.GetLength()) == NULL) { | 95 if (FXSYS_memchr(strc.GetPtr(), '.', strc.GetLength()) == NULL) { |
| 96 bInteger = TRUE; | 96 bInteger = true; |
| 97 int cc = 0, integer = 0; | 97 int cc = 0, integer = 0; |
| 98 const FX_CHAR* str = strc.GetCStr(); | 98 const FX_CHAR* str = strc.GetCStr(); |
| 99 int len = strc.GetLength(); | 99 int len = strc.GetLength(); |
| 100 FX_BOOL bNegative = FALSE; | 100 bool bNegative = false; |
| 101 if (str[0] == '+') { | 101 if (str[0] == '+') { |
| 102 cc++; | 102 cc++; |
| 103 } else if (str[0] == '-') { | 103 } else if (str[0] == '-') { |
| 104 bNegative = TRUE; | 104 bNegative = true; |
| 105 cc++; | 105 cc++; |
| 106 } | 106 } |
| 107 while (cc < len) { | 107 while (cc < len) { |
| 108 if (str[cc] < '0' || str[cc] > '9') { | 108 if (str[cc] < '0' || str[cc] > '9') { |
| 109 break; | 109 break; |
| 110 } | 110 } |
| 111 integer = integer * 10 + str[cc] - '0'; | 111 integer = integer * 10 + str[cc] - '0'; |
| 112 if (integer < 0) { | 112 if (integer < 0) { |
| 113 break; | 113 break; |
| 114 } | 114 } |
| 115 cc ++; | 115 cc ++; |
| 116 } | 116 } |
| 117 if (bNegative) { | 117 if (bNegative) { |
| 118 integer = -integer; | 118 integer = -integer; |
| 119 } | 119 } |
| 120 *(int*)pData = integer; | 120 *(int*)pData = integer; |
| 121 } else { | 121 } else { |
| 122 bInteger = FALSE; | 122 bInteger = false; |
| 123 *(FX_FLOAT*)pData = FX_atof(strc); | 123 *(FX_FLOAT*)pData = FX_atof(strc); |
| 124 } | 124 } |
| 125 } | 125 } |
| 126 FX_FLOAT FX_atof(const CFX_ByteStringC& strc) | 126 FX_FLOAT FX_atof(const CFX_ByteStringC& strc) |
| 127 { | 127 { |
| 128 if (strc.GetLength() == 0) { | 128 if (strc.GetLength() == 0) { |
| 129 return 0.0; | 129 return 0.0; |
| 130 } | 130 } |
| 131 int cc = 0; | 131 int cc = 0; |
| 132 FX_BOOL bNegative = FALSE; | 132 bool bNegative = false; |
| 133 const FX_CHAR* str = strc.GetCStr(); | 133 const FX_CHAR* str = strc.GetCStr(); |
| 134 int len = strc.GetLength(); | 134 int len = strc.GetLength(); |
| 135 if (str[0] == '+') { | 135 if (str[0] == '+') { |
| 136 cc++; | 136 cc++; |
| 137 } else if (str[0] == '-') { | 137 } else if (str[0] == '-') { |
| 138 bNegative = TRUE; | 138 bNegative = true; |
| 139 cc++; | 139 cc++; |
| 140 } | 140 } |
| 141 while (cc < len) { | 141 while (cc < len) { |
| 142 if (str[cc] != '+' && str[cc] != '-') { | 142 if (str[cc] != '+' && str[cc] != '-') { |
| 143 break; | 143 break; |
| 144 } | 144 } |
| 145 cc ++; | 145 cc ++; |
| 146 } | 146 } |
| 147 FX_FLOAT value = 0; | 147 FX_FLOAT value = 0; |
| 148 while (cc < len) { | 148 while (cc < len) { |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 180 } | 180 } |
| 181 void FXSYS_vsnprintf(char *str, size_t size, const char* fmt, va_list ap) | 181 void FXSYS_vsnprintf(char *str, size_t size, const char* fmt, va_list ap) |
| 182 { | 182 { |
| 183 (void) _vsnprintf(str, size, fmt, ap); | 183 (void) _vsnprintf(str, size, fmt, ap); |
| 184 if (size) { | 184 if (size) { |
| 185 str[size - 1] = 0; | 185 str[size - 1] = 0; |
| 186 } | 186 } |
| 187 } | 187 } |
| 188 #endif // _FXM_PLATFORM_WINDOWS_ && _MSC_VER < 1900 | 188 #endif // _FXM_PLATFORM_WINDOWS_ && _MSC_VER < 1900 |
| 189 | 189 |
| 190 static FX_BOOL FX_IsDigit(uint8_t ch) | 190 static bool FX_IsDigit(uint8_t ch) |
| 191 { | 191 { |
| 192 return (ch >= '0' && ch <= '9') ? TRUE : FALSE; | 192 return (ch >= '0' && ch <= '9') ? true : false; |
| 193 } | 193 } |
| 194 static FX_BOOL FX_IsXDigit(uint8_t ch) | 194 static bool FX_IsXDigit(uint8_t ch) |
| 195 { | 195 { |
| 196 return (FX_IsDigit(ch) || (ch >= 'A' && ch <= 'F') || (ch >= 'a' && ch <= 'f
')) ? TRUE : FALSE; | 196 return (FX_IsDigit(ch) || (ch >= 'A' && ch <= 'F') || (ch >= 'a' && ch <= 'f
')) ? true : false; |
| 197 } | 197 } |
| 198 static uint8_t FX_MakeUpper(uint8_t ch) | 198 static uint8_t FX_MakeUpper(uint8_t ch) |
| 199 { | 199 { |
| 200 if (ch < 'a' || ch > 'z') { | 200 if (ch < 'a' || ch > 'z') { |
| 201 return ch; | 201 return ch; |
| 202 } | 202 } |
| 203 return ch - 32; | 203 return ch - 32; |
| 204 } | 204 } |
| 205 static int FX_HexToI(uint8_t ch) | 205 static int FX_HexToI(uint8_t ch) |
| 206 { | 206 { |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 292 } | 292 } |
| 293 } | 293 } |
| 294 return CFX_WideString::FromUTF8(rURI, rURI.GetLength()); | 294 return CFX_WideString::FromUTF8(rURI, rURI.GetLength()); |
| 295 } | 295 } |
| 296 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ | 296 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ |
| 297 class CFindFileData | 297 class CFindFileData |
| 298 { | 298 { |
| 299 public: | 299 public: |
| 300 virtual ~CFindFileData() {} | 300 virtual ~CFindFileData() {} |
| 301 HANDLE m_Handle; | 301 HANDLE m_Handle; |
| 302 FX_BOOL» » » » m_bEnd; | 302 bool» » » » m_bEnd; |
| 303 }; | 303 }; |
| 304 class CFindFileDataA : public CFindFileData | 304 class CFindFileDataA : public CFindFileData |
| 305 { | 305 { |
| 306 public: | 306 public: |
| 307 virtual ~CFindFileDataA() {} | 307 virtual ~CFindFileDataA() {} |
| 308 WIN32_FIND_DATAA m_FindData; | 308 WIN32_FIND_DATAA m_FindData; |
| 309 }; | 309 }; |
| 310 class CFindFileDataW : public CFindFileData | 310 class CFindFileDataW : public CFindFileData |
| 311 { | 311 { |
| 312 public: | 312 public: |
| (...skipping 12 matching lines...) Expand all Loading... |
| 325 pData->m_Handle = FindFirstFileExA(CFX_ByteString(path) + "/*.*", FindExInfo
Standard, &pData->m_FindData, FindExSearchNameMatch, NULL, 0); | 325 pData->m_Handle = FindFirstFileExA(CFX_ByteString(path) + "/*.*", FindExInfo
Standard, &pData->m_FindData, FindExSearchNameMatch, NULL, 0); |
| 326 #endif | 326 #endif |
| 327 #else | 327 #else |
| 328 CFindFileDataW* pData = new CFindFileDataW; | 328 CFindFileDataW* pData = new CFindFileDataW; |
| 329 pData->m_Handle = FindFirstFileW(CFX_WideString::FromLocal(path) + L"/*.*",
&pData->m_FindData); | 329 pData->m_Handle = FindFirstFileW(CFX_WideString::FromLocal(path) + L"/*.*",
&pData->m_FindData); |
| 330 #endif | 330 #endif |
| 331 if (pData->m_Handle == INVALID_HANDLE_VALUE) { | 331 if (pData->m_Handle == INVALID_HANDLE_VALUE) { |
| 332 delete pData; | 332 delete pData; |
| 333 return NULL; | 333 return NULL; |
| 334 } | 334 } |
| 335 pData->m_bEnd = FALSE; | 335 pData->m_bEnd = false; |
| 336 return pData; | 336 return pData; |
| 337 #else | 337 #else |
| 338 DIR* dir = opendir(path); | 338 DIR* dir = opendir(path); |
| 339 return dir; | 339 return dir; |
| 340 #endif | 340 #endif |
| 341 } | 341 } |
| 342 void* FX_OpenFolder(const FX_WCHAR* path) | 342 void* FX_OpenFolder(const FX_WCHAR* path) |
| 343 { | 343 { |
| 344 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ | 344 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ |
| 345 CFindFileDataW* pData = new CFindFileDataW; | 345 CFindFileDataW* pData = new CFindFileDataW; |
| 346 #ifdef _FX_WINAPI_PARTITION_DESKTOP_ | 346 #ifdef _FX_WINAPI_PARTITION_DESKTOP_ |
| 347 pData->m_Handle = FindFirstFileW((CFX_WideString(path) + L"/*.*").c_str(), &
pData->m_FindData); | 347 pData->m_Handle = FindFirstFileW((CFX_WideString(path) + L"/*.*").c_str(), &
pData->m_FindData); |
| 348 #else | 348 #else |
| 349 pData->m_Handle = FindFirstFileExW((CFX_WideString(path) + L"/*.*").c_str(),
FindExInfoStandard, &pData->m_FindData, FindExSearchNameMatch, NULL, 0); | 349 pData->m_Handle = FindFirstFileExW((CFX_WideString(path) + L"/*.*").c_str(),
FindExInfoStandard, &pData->m_FindData, FindExSearchNameMatch, NULL, 0); |
| 350 #endif | 350 #endif |
| 351 if (pData->m_Handle == INVALID_HANDLE_VALUE) { | 351 if (pData->m_Handle == INVALID_HANDLE_VALUE) { |
| 352 delete pData; | 352 delete pData; |
| 353 return NULL; | 353 return NULL; |
| 354 } | 354 } |
| 355 pData->m_bEnd = FALSE; | 355 pData->m_bEnd = false; |
| 356 return pData; | 356 return pData; |
| 357 #else | 357 #else |
| 358 DIR* dir = opendir(CFX_ByteString::FromUnicode(path)); | 358 DIR* dir = opendir(CFX_ByteString::FromUnicode(path)); |
| 359 return dir; | 359 return dir; |
| 360 #endif | 360 #endif |
| 361 } | 361 } |
| 362 FX_BOOL FX_GetNextFile(void* handle, CFX_ByteString& filename, FX_BOOL& bFolder) | 362 bool FX_GetNextFile(void* handle, CFX_ByteString& filename, bool& bFolder) |
| 363 { | 363 { |
| 364 if (handle == NULL) { | 364 if (handle == NULL) { |
| 365 return FALSE; | 365 return false; |
| 366 } | 366 } |
| 367 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ | 367 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ |
| 368 #ifndef _WIN32_WCE | 368 #ifndef _WIN32_WCE |
| 369 CFindFileDataA* pData = (CFindFileDataA*)handle; | 369 CFindFileDataA* pData = (CFindFileDataA*)handle; |
| 370 if (pData->m_bEnd) { | 370 if (pData->m_bEnd) { |
| 371 return FALSE; | 371 return false; |
| 372 } | 372 } |
| 373 filename = pData->m_FindData.cFileName; | 373 filename = pData->m_FindData.cFileName; |
| 374 bFolder = pData->m_FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY; | 374 bFolder = pData->m_FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY; |
| 375 if (!FindNextFileA(pData->m_Handle, &pData->m_FindData)) { | 375 if (!FindNextFileA(pData->m_Handle, &pData->m_FindData)) { |
| 376 pData->m_bEnd = TRUE; | 376 pData->m_bEnd = true; |
| 377 } | 377 } |
| 378 return TRUE; | 378 return true; |
| 379 #else | 379 #else |
| 380 CFindFileDataW* pData = (CFindFileDataW*)handle; | 380 CFindFileDataW* pData = (CFindFileDataW*)handle; |
| 381 if (pData->m_bEnd) { | 381 if (pData->m_bEnd) { |
| 382 return FALSE; | 382 return false; |
| 383 } | 383 } |
| 384 filename = CFX_ByteString::FromUnicode(pData->m_FindData.cFileName); | 384 filename = CFX_ByteString::FromUnicode(pData->m_FindData.cFileName); |
| 385 bFolder = pData->m_FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY; | 385 bFolder = pData->m_FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY; |
| 386 if (!FindNextFileW(pData->m_Handle, &pData->m_FindData)) { | 386 if (!FindNextFileW(pData->m_Handle, &pData->m_FindData)) { |
| 387 pData->m_bEnd = TRUE; | 387 pData->m_bEnd = true; |
| 388 } | 388 } |
| 389 return TRUE; | 389 return true; |
| 390 #endif | 390 #endif |
| 391 #elif defined(__native_client__) | 391 #elif defined(__native_client__) |
| 392 abort(); | 392 abort(); |
| 393 return FALSE; | 393 return false; |
| 394 #else | 394 #else |
| 395 struct dirent *de = readdir((DIR*)handle); | 395 struct dirent *de = readdir((DIR*)handle); |
| 396 if (de == NULL) { | 396 if (de == NULL) { |
| 397 return FALSE; | 397 return false; |
| 398 } | 398 } |
| 399 filename = de->d_name; | 399 filename = de->d_name; |
| 400 bFolder = de->d_type == DT_DIR; | 400 bFolder = de->d_type == DT_DIR; |
| 401 return TRUE; | 401 return true; |
| 402 #endif | 402 #endif |
| 403 } | 403 } |
| 404 FX_BOOL FX_GetNextFile(void* handle, CFX_WideString& filename, FX_BOOL& bFolder) | 404 bool FX_GetNextFile(void* handle, CFX_WideString& filename, bool& bFolder) |
| 405 { | 405 { |
| 406 if (handle == NULL) { | 406 if (handle == NULL) { |
| 407 return FALSE; | 407 return false; |
| 408 } | 408 } |
| 409 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ | 409 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ |
| 410 CFindFileDataW* pData = (CFindFileDataW*)handle; | 410 CFindFileDataW* pData = (CFindFileDataW*)handle; |
| 411 if (pData->m_bEnd) { | 411 if (pData->m_bEnd) { |
| 412 return FALSE; | 412 return false; |
| 413 } | 413 } |
| 414 filename = pData->m_FindData.cFileName; | 414 filename = pData->m_FindData.cFileName; |
| 415 bFolder = pData->m_FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY; | 415 bFolder = pData->m_FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY; |
| 416 if (!FindNextFileW(pData->m_Handle, &pData->m_FindData)) { | 416 if (!FindNextFileW(pData->m_Handle, &pData->m_FindData)) { |
| 417 pData->m_bEnd = TRUE; | 417 pData->m_bEnd = true; |
| 418 } | 418 } |
| 419 return TRUE; | 419 return true; |
| 420 #elif defined(__native_client__) | 420 #elif defined(__native_client__) |
| 421 abort(); | 421 abort(); |
| 422 return FALSE; | 422 return false; |
| 423 #else | 423 #else |
| 424 struct dirent *de = readdir((DIR*)handle); | 424 struct dirent *de = readdir((DIR*)handle); |
| 425 if (de == NULL) { | 425 if (de == NULL) { |
| 426 return FALSE; | 426 return false; |
| 427 } | 427 } |
| 428 filename = CFX_WideString::FromLocal(de->d_name); | 428 filename = CFX_WideString::FromLocal(de->d_name); |
| 429 bFolder = de->d_type == DT_DIR; | 429 bFolder = de->d_type == DT_DIR; |
| 430 return TRUE; | 430 return true; |
| 431 #endif | 431 #endif |
| 432 } | 432 } |
| 433 void FX_CloseFolder(void* handle) | 433 void FX_CloseFolder(void* handle) |
| 434 { | 434 { |
| 435 if (handle == NULL) { | 435 if (handle == NULL) { |
| 436 return; | 436 return; |
| 437 } | 437 } |
| 438 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ | 438 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ |
| 439 CFindFileData* pData = (CFindFileData*)handle; | 439 CFindFileData* pData = (CFindFileData*)handle; |
| 440 FindClose(pData->m_Handle); | 440 FindClose(pData->m_Handle); |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 487 } | 487 } |
| 488 | 488 |
| 489 CFX_Vector_3by1 CFX_Matrix_3by3::TransformVector(const CFX_Vector_3by1 &v) | 489 CFX_Vector_3by1 CFX_Matrix_3by3::TransformVector(const CFX_Vector_3by1 &v) |
| 490 { | 490 { |
| 491 return CFX_Vector_3by1( | 491 return CFX_Vector_3by1( |
| 492 a * v.a + b * v.b + c * v.c, | 492 a * v.a + b * v.b + c * v.c, |
| 493 d * v.a + e * v.b + f * v.c, | 493 d * v.a + e * v.b + f * v.c, |
| 494 g * v.a + h * v.b + i * v.c | 494 g * v.a + h * v.b + i * v.c |
| 495 ); | 495 ); |
| 496 } | 496 } |
| OLD | NEW |