summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2012-08-20 15:18:35 +0200
committerPetr Mladek <pmladek@suse.cz>2012-08-20 16:28:44 +0200
commitd3d9ec4630a63cfc8879371752644262e4d9b4b8 (patch)
treed4c261701319fe692c280cb64bc207599f1ee6ea
parentee93da11b3395dc47e8718a8237ee2c650fbc85e (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 Signed-off-by: Petr Mladek <pmladek@suse.cz>
-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 d7a531c6782d..47309a4e7374 100644
--- a/sal/osl/w32/file_dirvol.cxx
+++ b/sal/osl/w32/file_dirvol.cxx
@@ -1116,7 +1116,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( "\\" ) );