diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2012-08-20 15:18:35 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2012-08-20 15:37:22 +0200 |
commit | e642eec333b9a80b04a9c19290d959de1f0ae5ff (patch) | |
tree | 34f78c648e21faac498bd8e0a98b2c73d8042248 /sal/osl/w32 | |
parent | 74ae4c44627068192eb0bda6c22367dd33cb0316 (diff) |
fdo#53252: _toupper is unreliable
<http://msdn.microsoft.com/en-us/library/45119yx3%28v=vs.80%29.aspx> "toupper,
_toupper, towupper, _toupper_l, _towupper_l: Visual Studio 2005" states: "In
order for toupper to give the expected results, __isascii and isupper must both
return nonzero." But a community comment clarifies: "This is incorrect, and
should refer to '_toupper' (the macro form), not 'toupper'." (Which makes
sense, as otherwise toupper would violate the C Standard.)
And indeed, at least for some LO built against MSVC 2008 Express on Windows 7,
_toupper('C') = '#' is broken, while toupper('C') = 'C' is good. (And the
unexpected '#' then causes all sorts of errors in the code.)
Change-Id: Iddaddcaf0cc3ffb30e55b0f410a6cfe9118accc8
Diffstat (limited to 'sal/osl/w32')
-rw-r--r-- | sal/osl/w32/file_dirvol.cxx | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sal/osl/w32/file_dirvol.cxx b/sal/osl/w32/file_dirvol.cxx index 1a3114f018dd..2736723c6f0a 100644 --- a/sal/osl/w32/file_dirvol.cxx +++ b/sal/osl/w32/file_dirvol.cxx @@ -1117,7 +1117,7 @@ oslFileError SAL_CALL osl_getDirectoryItem(rtl_uString *strFilePath, oslDirector osl_acquireDirectoryItem( (oslDirectoryItem)pItemImpl ); _tcscpy( pItemImpl->cDriveString, reinterpret_cast<LPCTSTR>(strSysFilePath->buffer) ); - pItemImpl->cDriveString[0] = _toupper( pItemImpl->cDriveString[0] ); + pItemImpl->cDriveString[0] = toupper( pItemImpl->cDriveString[0] ); if ( pItemImpl->cDriveString[_tcslen(pItemImpl->cDriveString) - 1] != '\\' ) _tcscat( pItemImpl->cDriveString, TEXT( "\\" ) ); |