2008-04-21 Martin Sebor <sebor@roguewave.com>
* tags/4.2.1-rc-2: Tagged branches/4.2.x at rev 648752.
git-svn-id: https://svn.apache.org/repos/asf/stdcxx/tags/4.2.1-rc-2@650305 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/etc/config/windows/configure.wsf b/etc/config/windows/configure.wsf
index 0409928..6d091fc 100644
--- a/etc/config/windows/configure.wsf
+++ b/etc/config/windows/configure.wsf
@@ -1015,7 +1015,7 @@
command += joinArray(srcs.split(" "), "");
- command += " " + LIBS + " /Fe\"" + stageDir + "\\" + outName + "\"" +
+ command += " /Fe\"" + stageDir + "\\" + outName + "\"" +
" /link " + LDFLAGS;
var message = "Linking with command \"" + command + "\"";
@@ -1042,7 +1042,7 @@
var dllname = "\"" + stageDir + "\\" + basename(outFile, "\\.lib") + ".dll\"";
var command = LD + " ";
command += joinArray(objNames.split(" "), "");
- command += " " + LIBS + " /Fe" + dllname + " /link /DLL " + LDFLAGS +
+ command += " /Fe" + dllname + " /link /DLL " + LDFLAGS +
" /IMPLIB:" + libname;
var message = "Making library with command \"" + command + "\"";
logLine(message);
diff --git a/include/loc/_ctype.h b/include/loc/_ctype.h
index df1bcdf..44245b4 100644
--- a/include/loc/_ctype.h
+++ b/include/loc/_ctype.h
@@ -541,20 +541,21 @@
inline char
ctype<wchar_t>::narrow (char_type __c, char __dfault) const
{
- const _RWSTD_SIZE_T __inx = _RWSTD_STATIC_CAST (_RWSTD_UWCHAR_INT_T, __c);
-
// optimize away all but the first call to the virtual do_widen()
- if ( __inx < sizeof _C_narrow_tab / sizeof *_C_narrow_tab
- && _C_narrow_tab [__inx])
- return _C_narrow_tab [__inx];
+ if ( 0 <= __c
+ && __c < sizeof _C_narrow_tab / sizeof *_C_narrow_tab
+ && _C_narrow_tab [__c])
+ return _C_narrow_tab [__c];
// template argument provided to work around an HP aCC bug (PR #27087)
ctype<wchar_t>* const __self = _RWSTD_CONST_CAST (ctype<wchar_t>*, this);
const char __ch = do_narrow (__c, __dfault);
- if (__inx < sizeof _C_narrow_tab / sizeof *_C_narrow_tab && __ch != __dfault)
- __self->_C_narrow_tab [__inx] = __ch;
+ if ( 0 <= __c
+ && __c < sizeof _C_narrow_tab / sizeof *_C_narrow_tab
+ && __ch != __dfault)
+ __self->_C_narrow_tab [__c] = __ch;
return __ch;
}
diff --git a/include/rw/_config.h b/include/rw/_config.h
index 549f8e2..ecb79a5 100644
--- a/include/rw/_config.h
+++ b/include/rw/_config.h
@@ -37,7 +37,7 @@
/*** library version numbers and ids **************************************/
-#define _RWSTD_VER 0x04020100
+#define _RWSTD_VER 0x04020001
// | | | |
// MMmmuupp
// | | | |
diff --git a/include/rw/_defs.h b/include/rw/_defs.h
index 9d5d0e6..aeb7599 100644
--- a/include/rw/_defs.h
+++ b/include/rw/_defs.h
@@ -1269,20 +1269,6 @@
#endif // _RWSTD_SSIZE_T
-// _RWSTD_UWCHAR_INT_T is "unsigned wchar_t"
-#ifndef _RWSTD_UWCHAR_INT_T
-# if _RWSTD_CHAR_SIZE == _RWSTD_WCHAR_SIZE
-# define _RWSTD_UWCHAR_INT_T unsigned char
-# elif _RWSTD_SHRT_SIZE == _RWSTD_WCHAR_SIZE
-# define _RWSTD_UWCHAR_INT_T unsigned short
-# elif _RWSTD_INT_SIZE == _RWSTD_WCHAR_SIZE
-# define _RWSTD_UWCHAR_INT_T unsigned int
-# else
-# define _RWSTD_UWCHAR_INT_T _RWSTD_SIZE_T
-# endif
-#endif // _RWSTD_UWCHAR_INT_T
-
-
#if defined(SNI)
# define _RWSTD_USING_SNI(name) _USING(__SNI::name)
# if defined(_RWSTD_STRICT_ANSI)