============================================================================= EditLoadFile()
| 1098 | // EditLoadFile() |
| 1099 | // |
| 1100 | BOOL EditLoadFile ( |
| 1101 | HWND hwnd, |
| 1102 | LPCWSTR pszFile, |
| 1103 | BOOL bSkipEncodingDetection, |
| 1104 | int *iEncoding, |
| 1105 | int *iEOLMode, |
| 1106 | BOOL *pbUnicodeErr, |
| 1107 | BOOL *pbFileTooBig ) |
| 1108 | { |
| 1109 | HANDLE hFile; |
| 1110 | DWORD dwFileSize; |
| 1111 | DWORD dwFileSizeLimit; |
| 1112 | DWORD dwBufSize; |
| 1113 | BOOL bReadSuccess; |
| 1114 | char *lpData; |
| 1115 | DWORD cbData; |
| 1116 | //char *cp; |
| 1117 | int _iDefaultEncoding; |
| 1118 | BOOL bBOM; |
| 1119 | BOOL bReverse = FALSE; |
| 1120 | *pbUnicodeErr = FALSE; |
| 1121 | *pbFileTooBig = FALSE; |
| 1122 | hFile = CreateFile ( pszFile, |
| 1123 | GENERIC_READ, |
| 1124 | FILE_SHARE_READ | FILE_SHARE_WRITE, |
| 1125 | NULL, |
| 1126 | OPEN_EXISTING, |
| 1127 | FILE_ATTRIBUTE_NORMAL, |
| 1128 | NULL ); |
| 1129 | dwLastIOError = GetLastError(); |
| 1130 | if ( hFile == INVALID_HANDLE_VALUE ) { |
| 1131 | iSrcEncoding = -1; |
| 1132 | iWeakSrcEncoding = -1; |
| 1133 | return FALSE; |
| 1134 | } |
| 1135 | // calculate buffer limit |
| 1136 | dwFileSize = GetFileSize ( hFile, NULL ); |
| 1137 | dwBufSize = dwFileSize + 10; |
| 1138 | // Check if a warning message should be displayed for large files |
| 1139 | dwFileSizeLimit = IniGetInt ( L"Settings2", L"FileLoadWarningMB", 1 ); |
| 1140 | if ( dwFileSizeLimit != 0 && dwFileSizeLimit * 1024 * 1024 < dwFileSize ) { |
| 1141 | if ( InfoBox ( MBYESNO, L"MsgFileSizeWarning", IDS_WARNLOADBIGFILE ) != IDYES ) { |
| 1142 | CloseHandle ( hFile ); |
| 1143 | *pbFileTooBig = TRUE; |
| 1144 | iSrcEncoding = -1; |
| 1145 | iWeakSrcEncoding = -1; |
| 1146 | return FALSE; |
| 1147 | } |
| 1148 | } |
| 1149 | lpData = GlobalAlloc ( GPTR, dwBufSize ); |
| 1150 | bReadSuccess = ReadFile ( hFile, lpData, ( DWORD ) GlobalSize ( lpData ) - 2, &cbData, NULL ); |
| 1151 | dwLastIOError = GetLastError(); |
| 1152 | CloseHandle ( hFile ); |
| 1153 | if ( !bReadSuccess ) { |
| 1154 | GlobalFree ( lpData ); |
| 1155 | iSrcEncoding = -1; |
| 1156 | iWeakSrcEncoding = -1; |
| 1157 | return FALSE; |
no test coverage detected