44 memcpy(pszNewText + *pdwTextLen, pszAppendText, dwAppendLen *
sizeof(
WCHAR));
45 *ppszText = pszNewText;
46 *pdwTextLen += dwAppendLen;
53 const signed char *pBytes =
pText;
108 WCHAR szCrlf[2] = {
'\r',
'\n'};
109 DWORD adwEolnCount[3] = {0, 0, 0};
127 pBytes[
dwSize + 0] =
'\0';
128 pBytes[
dwSize + 1] =
'\0';
131 if ((
dwSize >= 2) && (pBytes[0] == 0xFF) && (pBytes[1] == 0xFE))
136 else if ((
dwSize >= 2) && (pBytes[0] == 0xFE) && (pBytes[1] == 0xFF))
141 else if ((
dwSize >= 3) && (pBytes[0] == 0xEF) && (pBytes[1] == 0xBB) && (pBytes[2] == 0xBF))
157 pBytes[
i+0] = pBytes[
i+1];
163 pszText = (
LPWSTR) &pBytes[dwPos];
177 if (dwCharCount == 0)
196 pszAllocText[dwCharCount] =
'\0';
197 pszText = pszAllocText;
203 for (
i = 0;
i < dwCharCount;
i++)
208 if ((
i < dwCharCount-1) && (pszText[
i+1] ==
'\n'))
217 if (!
Append(ppszText, pdwTextLen, &pszText[dwPos],
i - dwPos))
223 if (pszText[
i] ==
'\r')
235 if (!*ppszText && (pszText == pszAllocText))
238 *ppszText = pszAllocText;
239 *pdwTextLen = dwCharCount;
245 if (!
Append(ppszText, pdwTextLen, &pszText[dwPos],
i - dwPos + 1))
251 if (adwEolnCount[
EOLN_LF] > adwEolnCount[*piEoln])
253 if (adwEolnCount[
EOLN_CR] > adwEolnCount[*piEoln])
284 int iBufferSize, iRequiredBytes;
287 while(dwPos < dwTextLen)
292 pBytes = (
LPBYTE) &pszText[dwPos];
293 dwByteCount = (dwTextLen - dwPos) *
sizeof(
WCHAR);
298 dwByteCount = (dwTextLen - dwPos) *
sizeof(
WCHAR);
299 if (dwByteCount >
sizeof(
buffer))
300 dwByteCount =
sizeof(
buffer);
303 for (
i = 0;
i < dwByteCount;
i += 2)
310 dwPos += dwByteCount /
sizeof(
WCHAR);
321 if (iRequiredBytes <= 0)
325 else if (iRequiredBytes <
sizeof(
buffer))
328 iBufferSize =
sizeof(
buffer);
335 pBytes = pAllocBuffer;
336 iBufferSize = iRequiredBytes;
390 while(dwNext < dwTextLen)
392 if (pszText[dwNext] ==
'\r' && pszText[dwNext + 1] ==
'\n')
397 if (dwNext != dwTextLen)
433 while (dwPos < dwTextLen);
#define DEFAULT_UNREACHABLE
BOOL WINAPI WriteFile(IN HANDLE hFile, IN LPCVOID lpBuffer, IN DWORD nNumberOfBytesToWrite OPTIONAL, OUT LPDWORD lpNumberOfBytesWritten, IN LPOVERLAPPED lpOverlapped OPTIONAL)
#define MB_ERR_INVALID_CHARS
#define WideCharToMultiByte
static BOOL Append(LPWSTR *ppszText, DWORD *pdwTextLen, LPCWSTR pszAppendText, DWORD dwAppendLen)
#define INVALID_FILE_SIZE
static BOOL WriteEncodedText(HANDLE hFile, LPCWSTR pszText, DWORD dwTextLen, ENCODING encFile)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define IS_TEXT_UNICODE_STATISTICS
GLboolean GLboolean GLboolean b
BOOL WINAPI IsTextUnicode(IN CONST VOID *lpv, IN INT iSize, IN OUT LPINT lpiResult OPTIONAL)
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
DWORD WINAPI GetFileSize(HANDLE hFile, LPDWORD lpFileSizeHigh)
#define memcpy(s1, s2, n)
#define IS_TEXT_UNICODE_ILLEGAL_CHARS
BOOL ReadText(HANDLE hFile, LPWSTR *ppszText, DWORD *pdwTextLen, ENCODING *pencFile, int *piEoln)
#define MultiByteToWideChar
ENCODING AnalyzeEncoding(const char *pBytes, DWORD dwSize)
#define IS_TEXT_UNICODE_REVERSE_MASK
BOOL IsTextNonZeroASCII(const void *pText, DWORD dwSize)
BOOL WriteText(HANDLE hFile, LPCWSTR pszText, DWORD dwTextLen, ENCODING encFile, int iEoln)
BOOL WINAPI ReadFile(IN HANDLE hFile, IN LPVOID lpBuffer, IN DWORD nNumberOfBytesToRead, OUT LPDWORD lpNumberOfBytesRead OPTIONAL, IN LPOVERLAPPED lpOverlapped OPTIONAL)
#define HeapFree(x, y, z)
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize