summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2012-08-20 15:18:35 +0200
committerStephan Bergmann <sbergman@redhat.com>2012-08-20 15:37:22 +0200
commite642eec333b9a80b04a9c19290d959de1f0ae5ff (patch)
tree34f78c648e21faac498bd8e0a98b2c73d8042248
parent74ae4c44627068192eb0bda6c22367dd33cb0316 (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
-rw-r--r--sal/osl/w32/file_dirvol.cxx2
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( "\\" ) );