[2/2] msvcp100: Remove some unused functions.

Francois Gouget fgouget at free.fr
Mon Aug 27 17:41:40 CDT 2012


---

See:
http://www.winehq.org/pipermail/wine-devel/2012-August/096819.html

 dlls/msvcp100/ios.c    |  588 -------------------------------------
 dlls/msvcp100/locale.c |  139 ---------
 dlls/msvcp100/math.c   |   81 -----
 dlls/msvcp100/msvcp.h  |    1 -
 dlls/msvcp100/string.c |  762 ------------------------------------------------
 5 files changed, 1571 deletions(-)

diff --git a/dlls/msvcp100/ios.c b/dlls/msvcp100/ios.c
index e69345a..3e3bad8 100644
--- a/dlls/msvcp100/ios.c
+++ b/dlls/msvcp100/ios.c
@@ -4647,14 +4647,6 @@ void CDECL ios_base_Addstd(ios_base *add)
     FIXME("(%p) stub\n", add);
 }
 
-/* ?_Index_func at ios_base@std@@CAAAHXZ */
-/* ?_Index_func at ios_base@std@@CAAEAHXZ */
-int* CDECL ios_base_Index_func(void)
-{
-    TRACE("\n");
-    return &ios_base_Index;
-}
-
 /* ?_Init at ios_base@std@@IAEXXZ */
 /* ?_Init at ios_base@std@@IEAAXXZ */
 DEFINE_THISCALL_WRAPPER(ios_base_Init, 4)
@@ -4673,14 +4665,6 @@ void __thiscall ios_base_Init(ios_base *this)
     locale_ctor(this->loc);
 }
 
-/* ?_Sync_func at ios_base@std@@CAAA_NXZ */
-/* ?_Sync_func at ios_base@std@@CAAEA_NXZ */
-MSVCP_bool* CDECL ios_base_Sync_func(void)
-{
-    TRACE("\n");
-    return &ios_base_Sync;
-}
-
 /* ?bad at ios_base@std@@QBE_NXZ */
 /* ?bad at ios_base@std@@QEBA_NXZ */
 DEFINE_THISCALL_WRAPPER(ios_base_bad, 4)
@@ -5972,151 +5956,6 @@ basic_ostream_char* __cdecl basic_ostream_char_endl(basic_ostream_char *ostr)
     return ostr;
 }
 
-/* $?6DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YAAAV?$basic_ostream at DU?$char_traits at D@std@@@0 at AAV10@ABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0@@Z */
-/* ??$?6DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YAAEAV?$basic_ostream at DU?$char_traits at D@std@@@0 at AEAV10@AEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0@@Z */
-basic_ostream_char* __cdecl basic_ostream_char_print_bstr(basic_ostream_char *ostr, const basic_string_char *str)
-{
-    basic_ios_char *base = basic_ostream_char_get_basic_ios(ostr);
-    IOSB_iostate state = IOSTATE_goodbit;
-
-    TRACE("(%p %p)\n", ostr, str);
-
-    if(basic_ostream_char_sentry_create(ostr)) {
-        MSVCP_size_t len = MSVCP_basic_string_char_length(str);
-        streamsize pad = (base->base.wide>len ? base->base.wide-len : 0);
-
-        if((base->base.fmtfl & FMTFLAG_adjustfield) != FMTFLAG_left) {
-            for(; pad!=0; pad--) {
-                if(basic_streambuf_char_sputc(base->strbuf, base->fillch) == EOF) {
-                    state = IOSTATE_badbit;
-                    break;
-                }
-            }
-        }
-
-        if(state == IOSTATE_goodbit) {
-            if(basic_streambuf_char_sputn(base->strbuf, MSVCP_basic_string_char_c_str(str), len) != len)
-                    state = IOSTATE_badbit;
-        }
-
-        if(state == IOSTATE_goodbit) {
-            for(; pad!=0; pad--) {
-                if(basic_streambuf_char_sputc(base->strbuf, base->fillch) == EOF) {
-                    state = IOSTATE_badbit;
-                    break;
-                }
-            }
-        }
-
-        base->base.wide = 0;
-    }else {
-        state = IOSTATE_badbit;
-    }
-    basic_ostream_char_sentry_destroy(ostr);
-
-    basic_ios_char_setstate(base, state);
-    return ostr;
-}
-
-/* ??$?6U?$char_traits at D@std@@@std@@YAAAV?$basic_ostream at DU?$char_traits at D@std@@@0 at AAV10@C at Z */
-/* ??$?6U?$char_traits at D@std@@@std@@YAAEAV?$basic_ostream at DU?$char_traits at D@std@@@0 at AEAV10@C at Z */
-/* ??$?6U?$char_traits at D@std@@@std@@YAAAV?$basic_ostream at DU?$char_traits at D@std@@@0 at AAV10@D at Z */
-/* ??$?6U?$char_traits at D@std@@@std@@YAAEAV?$basic_ostream at DU?$char_traits at D@std@@@0 at AEAV10@D at Z */
-/* ??$?6U?$char_traits at D@std@@@std@@YAAAV?$basic_ostream at DU?$char_traits at D@std@@@0 at AAV10@E at Z */
-/* ??$?6U?$char_traits at D@std@@@std@@YAAEAV?$basic_ostream at DU?$char_traits at D@std@@@0 at AEAV10@E at Z */
-basic_ostream_char* __cdecl basic_ostream_char_print_ch(basic_ostream_char *ostr, char ch)
-{
-    basic_ios_char *base = basic_ostream_char_get_basic_ios(ostr);
-    IOSB_iostate state = IOSTATE_goodbit;
-
-    TRACE("(%p %d)\n", ostr, ch);
-
-    if(basic_ostream_char_sentry_create(ostr)) {
-        streamsize pad = (base->base.wide>1 ? base->base.wide-1 : 0);
-
-        if((base->base.fmtfl & FMTFLAG_adjustfield) != FMTFLAG_left) {
-            for(; pad!=0; pad--) {
-                if(basic_streambuf_char_sputc(base->strbuf, base->fillch) == EOF) {
-                    state = IOSTATE_badbit;
-                    break;
-                }
-            }
-        }
-
-        if(state == IOSTATE_goodbit) {
-            if(basic_streambuf_char_sputc(base->strbuf, ch) == EOF)
-                state = IOSTATE_badbit;
-        }
-
-        if(state == IOSTATE_goodbit) {
-            for(; pad!=0; pad--) {
-                if(basic_streambuf_char_sputc(base->strbuf, base->fillch) == EOF) {
-                    state = IOSTATE_badbit;
-                    break;
-                }
-            }
-        }
-
-        base->base.wide = 0;
-    }else {
-        state = IOSTATE_badbit;
-    }
-    basic_ostream_char_sentry_destroy(ostr);
-
-    basic_ios_char_setstate(base, state);
-    return ostr;
-}
-
-/* ??$?6U?$char_traits at D@std@@@std@@YAAAV?$basic_ostream at DU?$char_traits at D@std@@@0 at AAV10@PBC at Z */
-/* ??$?6U?$char_traits at D@std@@@std@@YAAEAV?$basic_ostream at DU?$char_traits at D@std@@@0 at AEAV10@PEBC at Z */
-/* ??$?6U?$char_traits at D@std@@@std@@YAAAV?$basic_ostream at DU?$char_traits at D@std@@@0 at AAV10@PBD at Z */
-/* ??$?6U?$char_traits at D@std@@@std@@YAAEAV?$basic_ostream at DU?$char_traits at D@std@@@0 at AEAV10@PEBD at Z */
-/* ??$?6U?$char_traits at D@std@@@std@@YAAAV?$basic_ostream at DU?$char_traits at D@std@@@0 at AAV10@PBE at Z */
-/* ??$?6U?$char_traits at D@std@@@std@@YAAEAV?$basic_ostream at DU?$char_traits at D@std@@@0 at AEAV10@PEBE at Z */
-basic_ostream_char* __cdecl basic_ostream_char_print_str(basic_ostream_char *ostr, const char *str)
-{
-    basic_ios_char *base = basic_ostream_char_get_basic_ios(ostr);
-    IOSB_iostate state = IOSTATE_goodbit;
-
-    TRACE("(%p %s)\n", ostr, str);
-
-    if(basic_ostream_char_sentry_create(ostr)) {
-        MSVCP_size_t len = strlen(str);
-        streamsize pad = (base->base.wide>len ? base->base.wide-len : 0);
-
-        if((base->base.fmtfl & FMTFLAG_adjustfield) != FMTFLAG_left) {
-            for(; pad!=0; pad--) {
-                if(basic_streambuf_char_sputc(base->strbuf, base->fillch) == EOF) {
-                    state = IOSTATE_badbit;
-                    break;
-                }
-            }
-        }
-
-        if(state == IOSTATE_goodbit) {
-            if(basic_streambuf_char_sputn(base->strbuf, str, len) != len)
-                state = IOSTATE_badbit;
-        }
-
-        if(state == IOSTATE_goodbit) {
-            for(; pad!=0; pad--) {
-                if(basic_streambuf_char_sputc(base->strbuf, base->fillch) == EOF) {
-                    state = IOSTATE_badbit;
-                    break;
-                }
-            }
-        }
-
-        base->base.wide = 0;
-    }else {
-        state = IOSTATE_badbit;
-    }
-    basic_ostream_char_sentry_destroy(ostr);
-
-    basic_ios_char_setstate(base, state);
-    return ostr;
-}
-
 /* ??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEAAV01 at P6AAAV01@AAV01@@Z at Z */
 /* ??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QEAAAEAV01 at P6AAEAV01@AEAV01@@Z at Z */
 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_func, 8)
@@ -6926,149 +6765,6 @@ basic_ostream_wchar* __cdecl basic_ostream_wchar_endl(basic_ostream_wchar *ostr)
     return ostr;
 }
 
-/* ??$?6_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YAAAV?$basic_ostream at _WU?$char_traits at _W@std@@@0 at AAV10@ABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0@@Z */
-/* ??$?6_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YAAEAV?$basic_ostream at _WU?$char_traits at _W@std@@@0 at AEAV10@AEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0@@Z */
-/* ??$?6GU?$char_traits at G@std@@V?$allocator at G@1@@std@@YAAAV?$basic_ostream at GU?$char_traits at G@std@@@0 at AAV10@ABV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0@@Z */
-/* ??$?6GU?$char_traits at G@std@@V?$allocator at G@1@@std@@YAAEAV?$basic_ostream at GU?$char_traits at G@std@@@0 at AEAV10@AEBV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0@@Z */
-basic_ostream_wchar* __cdecl basic_ostream_wchar_print_bstr(basic_ostream_wchar *ostr, const basic_string_wchar *str)
-{
-    basic_ios_wchar *base = basic_ostream_wchar_get_basic_ios(ostr);
-    IOSB_iostate state = IOSTATE_goodbit;
-
-    TRACE("(%p %p)\n", ostr, str);
-
-    if(basic_ostream_wchar_sentry_create(ostr)) {
-        MSVCP_size_t len = MSVCP_basic_string_wchar_length(str);
-        streamsize pad = (base->base.wide>len ? base->base.wide-len : 0);
-
-        if((base->base.fmtfl & FMTFLAG_adjustfield) != FMTFLAG_left) {
-            for(; pad!=0; pad--) {
-                if(basic_streambuf_wchar_sputc(base->strbuf, base->fillch) == WEOF) {
-                    state = IOSTATE_badbit;
-                    break;
-                }
-            }
-        }
-
-        if(state == IOSTATE_goodbit) {
-            if(basic_streambuf_wchar_sputn(base->strbuf, MSVCP_basic_string_wchar_c_str(str), len) != len)
-                state = IOSTATE_badbit;
-        }
-
-        if(state == IOSTATE_goodbit) {
-            for(; pad!=0; pad--) {
-                if(basic_streambuf_wchar_sputc(base->strbuf, base->fillch) == WEOF) {
-                    state = IOSTATE_badbit;
-                    break;
-                }
-            }
-        }
-
-        base->base.wide = 0;
-    }else {
-        state = IOSTATE_badbit;
-    }
-    basic_ostream_wchar_sentry_destroy(ostr);
-
-    basic_ios_wchar_setstate(base, state);
-    return ostr;
-}
-
-/* ??$?6_WU?$char_traits at _W@std@@@std@@YAAAV?$basic_ostream at _WU?$char_traits at _W@std@@@0 at AAV10@_W at Z */
-/* ??$?6_WU?$char_traits at _W@std@@@std@@YAAEAV?$basic_ostream at _WU?$char_traits at _W@std@@@0 at AEAV10@_W at Z */
-/* ??$?6GU?$char_traits at G@std@@@std@@YAAAV?$basic_ostream at GU?$char_traits at G@std@@@0 at AAV10@G at Z */
-/* ??$?6GU?$char_traits at G@std@@@std@@YAAEAV?$basic_ostream at GU?$char_traits at G@std@@@0 at AEAV10@G at Z */
-basic_ostream_wchar* __cdecl basic_ostream_wchar_print_ch(basic_ostream_wchar *ostr, wchar_t ch)
-{
-    basic_ios_wchar *base = basic_ostream_wchar_get_basic_ios(ostr);
-    IOSB_iostate state = IOSTATE_goodbit;
-
-    TRACE("(%p %d)\n", ostr, ch);
-
-    if(basic_ostream_wchar_sentry_create(ostr)) {
-        streamsize pad = (base->base.wide>1 ? base->base.wide-1 : 0);
-
-        if((base->base.fmtfl & FMTFLAG_adjustfield) != FMTFLAG_left) {
-            for(; pad!=0; pad--) {
-                if(basic_streambuf_wchar_sputc(base->strbuf, base->fillch) == WEOF) {
-                    state = IOSTATE_badbit;
-                    break;
-                }
-            }
-        }
-
-        if(state == IOSTATE_goodbit) {
-            if(basic_streambuf_wchar_sputc(base->strbuf, ch) == WEOF)
-                state = IOSTATE_badbit;
-        }
-
-        if(state == IOSTATE_goodbit) {
-            for(; pad!=0; pad--) {
-                if(basic_streambuf_wchar_sputc(base->strbuf, base->fillch) == WEOF) {
-                    state = IOSTATE_badbit;
-                    break;
-                }
-            }
-        }
-
-        base->base.wide = 0;
-    }else {
-        state = IOSTATE_badbit;
-    }
-    basic_ostream_wchar_sentry_destroy(ostr);
-
-    basic_ios_wchar_setstate(base, state);
-    return ostr;
-}
-
-/* ??$?6_WU?$char_traits at _W@std@@@std@@YAAAV?$basic_ostream at _WU?$char_traits at _W@std@@@0 at AAV10@PB_W at Z */
-/* ??$?6_WU?$char_traits at _W@std@@@std@@YAAEAV?$basic_ostream at _WU?$char_traits at _W@std@@@0 at AEAV10@PEB_W at Z */
-/* ??$?6GU?$char_traits at G@std@@@std@@YAAAV?$basic_ostream at GU?$char_traits at G@std@@@0 at AAV10@PBG at Z */
-/* ??$?6GU?$char_traits at G@std@@@std@@YAAEAV?$basic_ostream at GU?$char_traits at G@std@@@0 at AEAV10@PEBG at Z */
-basic_ostream_wchar* __cdecl basic_ostream_wchar_print_str(basic_ostream_wchar *ostr, const wchar_t *str)
-{
-    basic_ios_wchar *base = basic_ostream_wchar_get_basic_ios(ostr);
-    IOSB_iostate state = IOSTATE_goodbit;
-
-    TRACE("(%p %s)\n", ostr, debugstr_w(str));
-
-    if(basic_ostream_wchar_sentry_create(ostr)) {
-        MSVCP_size_t len = wcslen(str);
-        streamsize pad = (base->base.wide>len ? base->base.wide-len : 0);
-
-        if((base->base.fmtfl & FMTFLAG_adjustfield) != FMTFLAG_left) {
-            for(; pad!=0; pad--) {
-                if(basic_streambuf_wchar_sputc(base->strbuf, base->fillch) == WEOF) {
-                    state = IOSTATE_badbit;
-                    break;
-                }
-            }
-        }
-
-        if(state == IOSTATE_goodbit) {
-            if(basic_streambuf_wchar_sputn(base->strbuf, str, len) != len)
-                                        state = IOSTATE_badbit;
-        }
-
-        if(state == IOSTATE_goodbit) {
-            for(; pad!=0; pad--) {
-                if(basic_streambuf_wchar_sputc(base->strbuf, base->fillch) == WEOF) {
-                    state = IOSTATE_badbit;
-                    break;
-                }
-            }
-        }
-
-        base->base.wide = 0;
-    }else {
-        state = IOSTATE_badbit;
-    }
-    basic_ostream_wchar_sentry_destroy(ostr);
-
-    basic_ios_wchar_setstate(base, state);
-    return ostr;
-}
-
 /* ??6?$basic_ostream at _WU?$char_traits at _W@std@@@std@@QAEAAV01 at P6AAAV01@AAV01@@Z at Z */
 /* ??6?$basic_ostream at _WU?$char_traits at _W@std@@@std@@QEAAAEAV01 at P6AAEAV01@AEAV01@@Z at Z */
 /* ??6?$basic_ostream at GU?$char_traits at G@std@@@std@@QAEAAV01 at P6AAAV01@AAV01@@Z at Z */
@@ -8084,135 +7780,6 @@ basic_istream_char* __thiscall basic_istream_char_read_bool(basic_istream_char *
     return this;
 }
 
-/* ??$getline at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@YAAAV?$basic_istream at DU?$char_traits at D@std@@@0 at AAV10@AAV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at D@Z */
-/* ??$getline at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@YAAEAV?$basic_istream at DU?$char_traits at D@std@@@0 at AEAV10@AEAV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at D@Z */
-basic_istream_char* __cdecl basic_istream_char_getline_bstr_delim(
-        basic_istream_char *istream, basic_string_char *str, char delim)
-{
-    IOSB_iostate state = IOSTATE_failbit;
-    int c = delim;
-
-    TRACE("(%p %p %c)\n", istream, str, delim);
-
-    if(basic_istream_char_sentry_create(istream, TRUE)) {
-        MSVCP_basic_string_char_clear(str);
-
-        for(c = basic_istream_char_get(istream); c!=delim && c!=EOF;
-                c = basic_istream_char_get(istream)) {
-            state = IOSTATE_goodbit;
-            MSVCP_basic_string_char_append_ch(str, c);
-        }
-    }
-    basic_istream_char_sentry_destroy(istream);
-
-    basic_ios_char_setstate(basic_istream_char_get_basic_ios(istream),
-        state | (c==EOF ? IOSTATE_eofbit : IOSTATE_goodbit));
-    return istream;
-}
-
-/* ??$getline at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@YAAAV?$basic_istream at DU?$char_traits at D@std@@@0 at AAV10@AAV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0@@Z */
-/* ??$getline at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@YAAEAV?$basic_istream at DU?$char_traits at D@std@@@0 at AEAV10@AEAV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0@@Z */
-basic_istream_char* __cdecl basic_istream_char_getline_bstr(
-        basic_istream_char *istream, basic_string_char *str)
-{
-    return basic_istream_char_getline_bstr_delim(istream, str, '\n');
-}
-
-/* ??$?5DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YAAAV?$basic_istream at DU?$char_traits at D@std@@@0 at AAV10@AAV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0@@Z */
-/* ??$?5DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YAAEAV?$basic_istream at DU?$char_traits at D@std@@@0 at AEAV10@AEAV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0@@Z */
-basic_istream_char* __cdecl basic_istream_char_read_bstr(
-        basic_istream_char *istream, basic_string_char *str)
-{
-    basic_ios_char *base = basic_istream_char_get_basic_ios(istream);
-    IOSB_iostate state = IOSTATE_failbit;
-    int c = '\n';
-
-    TRACE("(%p %p)\n", istream, str);
-
-    if(basic_istream_char_sentry_create(istream, FALSE)) {
-        const ctype_char *ctype = ctype_char_use_facet(base->strbuf->loc);
-        MSVCP_size_t count = ios_base_width_get(&base->base);
-
-        if(!count)
-            count = -1;
-
-        MSVCP_basic_string_char_clear(str);
-
-        for(c = basic_streambuf_char_sgetc(basic_ios_char_rdbuf_get(base));
-                c!=EOF && !ctype_char_is_ch(ctype, _SPACE|_BLANK, c) && count>0;
-                c = basic_streambuf_char_snextc(basic_ios_char_rdbuf_get(base)), count--) {
-            state = IOSTATE_goodbit;
-            MSVCP_basic_string_char_append_ch(str, c);
-        }
-    }
-    basic_istream_char_sentry_destroy(istream);
-
-    ios_base_width_set(&base->base, 0);
-    basic_ios_char_setstate(base, state | (c==EOF ? IOSTATE_eofbit : IOSTATE_goodbit));
-    return istream;
-}
-
-/* ??$?5DU?$char_traits at D@std@@@std@@YAAAV?$basic_istream at DU?$char_traits at D@std@@@0 at AAV10@PAD at Z */
-/* ??$?5DU?$char_traits at D@std@@@std@@YAAEAV?$basic_istream at DU?$char_traits at D@std@@@0 at AEAV10@PEAD at Z */
-/* ??$?5U?$char_traits at D@std@@@std@@YAAAV?$basic_istream at DU?$char_traits at D@std@@@0 at AAV10@PAC at Z */
-/* ??$?5U?$char_traits at D@std@@@std@@YAAEAV?$basic_istream at DU?$char_traits at D@std@@@0 at AEAV10@PEAC at Z */
-/* ??$?5U?$char_traits at D@std@@@std@@YAAAV?$basic_istream at DU?$char_traits at D@std@@@0 at AAV10@PAE at Z */
-/* ??$?5U?$char_traits at D@std@@@std@@YAAEAV?$basic_istream at DU?$char_traits at D@std@@@0 at AEAV10@PEAE at Z */
-basic_istream_char* __cdecl basic_istream_char_read_str(basic_istream_char *istream, char *str)
-{
-    basic_ios_char *base = basic_istream_char_get_basic_ios(istream);
-    IOSB_iostate state = IOSTATE_failbit;
-    int c = '\n';
-
-    TRACE("(%p %p)\n", istream, str);
-
-    if(basic_istream_char_sentry_create(istream, FALSE)) {
-        const ctype_char *ctype = ctype_char_use_facet(base->strbuf->loc);
-        MSVCP_size_t count = ios_base_width_get(&base->base)-1;
-
-        for(c = basic_streambuf_char_sgetc(basic_ios_char_rdbuf_get(base));
-                c!=EOF && !ctype_char_is_ch(ctype, _SPACE|_BLANK, c) && count>0;
-                c = basic_streambuf_char_snextc(basic_ios_char_rdbuf_get(base)), count--) {
-            state = IOSTATE_goodbit;
-            *str++ = c;
-        }
-    }
-    basic_istream_char_sentry_destroy(istream);
-
-    *str = 0;
-    ios_base_width_set(&base->base, 0);
-    basic_ios_char_setstate(base, state | (c==EOF ? IOSTATE_eofbit : IOSTATE_goodbit));
-    return istream;
-}
-
-/* ??$?5DU?$char_traits at D@std@@@std@@YAAAV?$basic_istream at DU?$char_traits at D@std@@@0 at AAV10@AAD at Z */
-/* ??$?5DU?$char_traits at D@std@@@std@@YAAEAV?$basic_istream at DU?$char_traits at D@std@@@0 at AEAV10@AEAD at Z */
-/* ??$?5U?$char_traits at D@std@@@std@@YAAAV?$basic_istream at DU?$char_traits at D@std@@@0 at AAV10@AAC at Z */
-/* ??$?5U?$char_traits at D@std@@@std@@YAAEAV?$basic_istream at DU?$char_traits at D@std@@@0 at AEAV10@AEAC at Z */
-/* ??$?5U?$char_traits at D@std@@@std@@YAAAV?$basic_istream at DU?$char_traits at D@std@@@0 at AAV10@AAE at Z */
-/* ??$?5U?$char_traits at D@std@@@std@@YAAEAV?$basic_istream at DU?$char_traits at D@std@@@0 at AEAV10@AEAE at Z */
-basic_istream_char* __cdecl basic_istream_char_read_ch(basic_istream_char *istream, char *ch)
-{
-    IOSB_iostate state = IOSTATE_failbit;
-    int c = 0;
-
-    TRACE("(%p %p)\n", istream, ch);
-
-    if(basic_istream_char_sentry_create(istream, FALSE)) {
-        c = basic_streambuf_char_sbumpc(basic_ios_char_rdbuf_get(
-                    basic_istream_char_get_basic_ios(istream)));
-        if(c != EOF) {
-            state = IOSTATE_goodbit;
-            *ch = c;
-        }
-    }
-    basic_istream_char_sentry_destroy(istream);
-
-    basic_ios_char_setstate(basic_istream_char_get_basic_ios(istream),
-            state | (c==EOF ? IOSTATE_eofbit : IOSTATE_goodbit));
-    return istream;
-}
-
 /* ??5?$basic_istream at DU?$char_traits at D@std@@@std@@QAEAAV01 at PAV?$basic_streambuf at DU?$char_traits at D@std@@@1@@Z */
 /* ??5?$basic_istream at DU?$char_traits at D@std@@@std@@QEAAAEAV01 at PEAV?$basic_streambuf at DU?$char_traits at D@std@@@1@@Z */
 DEFINE_THISCALL_WRAPPER(basic_istream_char_read_streambuf, 8)
@@ -9502,161 +9069,6 @@ basic_istream_wchar* __thiscall basic_istream_short_read_bool(basic_istream_wcha
                 basic_istream_wchar_get_basic_ios(this)->strbuf->loc));
 }
 
-/* ??$getline at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@YAAAV?$basic_istream at _WU?$char_traits at _W@std@@@0 at AAV10@AAV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at _W@Z */
-/* ??$getline at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@YAAEAV?$basic_istream at _WU?$char_traits at _W@std@@@0 at AEAV10@AEAV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at _W@Z */
-/* ??$getline at GU?$char_traits at G@std@@V?$allocator at G@2@@std@@YAAAV?$basic_istream at GU?$char_traits at G@std@@@0 at AAV10@AAV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at G@Z */
-/* ??$getline at GU?$char_traits at G@std@@V?$allocator at G@2@@std@@YAAEAV?$basic_istream at GU?$char_traits at G@std@@@0 at AEAV10@AEAV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at G@Z */
-basic_istream_wchar* __cdecl basic_istream_wchar_getline_bstr_delim(
-        basic_istream_wchar *istream, basic_string_wchar *str, wchar_t delim)
-{
-    IOSB_iostate state = IOSTATE_failbit;
-    int c = delim;
-
-    TRACE("(%p %p %c)\n", istream, str, delim);
-
-    if(basic_istream_wchar_sentry_create(istream, TRUE)) {
-        MSVCP_basic_string_wchar_clear(str);
-
-        for(c = basic_istream_wchar_get(istream); c!=delim && c!=WEOF;
-                c = basic_istream_wchar_get(istream)) {
-            state = IOSTATE_goodbit;
-            MSVCP_basic_string_wchar_append_ch(str, c);
-        }
-    }
-    basic_istream_wchar_sentry_destroy(istream);
-
-    basic_ios_wchar_setstate(basic_istream_wchar_get_basic_ios(istream),
-            state | (c==WEOF ? IOSTATE_eofbit : IOSTATE_goodbit));
-    return istream;
-}
-
-/* ??$getline at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@YAAAV?$basic_istream at _WU?$char_traits at _W@std@@@0 at AAV10@AAV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0@@Z */
-/* ??$getline at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@YAAEAV?$basic_istream at _WU?$char_traits at _W@std@@@0 at AEAV10@AEAV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0@@Z */
-/* ??$getline at GU?$char_traits at G@std@@V?$allocator at G@2@@std@@YAAAV?$basic_istream at GU?$char_traits at G@std@@@0 at AAV10@AAV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0@@Z */
-/* ??$getline at GU?$char_traits at G@std@@V?$allocator at G@2@@std@@YAAEAV?$basic_istream at GU?$char_traits at G@std@@@0 at AEAV10@AEAV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0@@Z */
-basic_istream_wchar* __cdecl basic_istream_wchar_getline_bstr(
-        basic_istream_wchar *istream, basic_string_wchar *str)
-{
-    return basic_istream_wchar_getline_bstr_delim(istream, str, '\n');
-}
-
-static basic_istream_wchar* basic_istream_read_bstr(basic_istream_wchar *istream,
-        basic_string_wchar *str, const ctype_wchar *ctype)
-{
-    basic_ios_wchar *base = basic_istream_wchar_get_basic_ios(istream);
-    IOSB_iostate state = IOSTATE_failbit;
-    int c = '\n';
-
-    TRACE("(%p %p)\n", istream, str);
-
-    if(basic_istream_wchar_sentry_create(istream, FALSE)) {
-        MSVCP_size_t count = ios_base_width_get(&base->base);
-
-        if(!count)
-            count = -1;
-
-        MSVCP_basic_string_wchar_clear(str);
-
-        for(c = basic_streambuf_wchar_sgetc(basic_ios_wchar_rdbuf_get(base));
-                c!=WEOF && !ctype_wchar_is_ch(ctype, _SPACE|_BLANK, c) && count>0;
-                c = basic_streambuf_wchar_snextc(basic_ios_wchar_rdbuf_get(base)), count--) {
-            state = IOSTATE_goodbit;
-            MSVCP_basic_string_wchar_append_ch(str, c);
-        }
-    }
-    basic_istream_wchar_sentry_destroy(istream);
-
-    ios_base_width_set(&base->base, 0);
-    basic_ios_wchar_setstate(base, state | (c==WEOF ? IOSTATE_eofbit : IOSTATE_goodbit));
-    return istream;
-}
-
-/* ??$?5_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YAAAV?$basic_istream at _WU?$char_traits at _W@std@@@0 at AAV10@AAV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0@@Z */
-/* ??$?5_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YAAEAV?$basic_istream at _WU?$char_traits at _W@std@@@0 at AEAV10@AEAV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0@@Z */
-basic_istream_wchar* __cdecl basic_istream_wchar_read_bstr(
-        basic_istream_wchar *istream, basic_string_wchar *str)
-{
-    return basic_istream_read_bstr(istream, str, ctype_wchar_use_facet(
-                basic_istream_wchar_get_basic_ios(istream)->strbuf->loc));
-}
-
-/* ??$?5GU?$char_traits at G@std@@V?$allocator at G@1@@std@@YAAAV?$basic_istream at GU?$char_traits at G@std@@@0 at AAV10@AAV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0@@Z */
-/* ??$?5GU?$char_traits at G@std@@V?$allocator at G@1@@std@@YAAEAV?$basic_istream at GU?$char_traits at G@std@@@0 at AEAV10@AEAV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0@@Z */
-basic_istream_wchar* __cdecl basic_istream_short_read_bstr(
-        basic_istream_wchar *istream, basic_string_wchar *str)
-{
-    return basic_istream_read_bstr(istream, str, ctype_short_use_facet(
-                basic_istream_wchar_get_basic_ios(istream)->strbuf->loc));
-}
-
-basic_istream_wchar* basic_istream_read_str(basic_istream_wchar *istream, wchar_t *str, const ctype_wchar *ctype)
-{
-    basic_ios_wchar *base = basic_istream_wchar_get_basic_ios(istream);
-    IOSB_iostate state = IOSTATE_failbit;
-    unsigned short c = '\n';
-
-    TRACE("(%p %p)\n", istream, str);
-
-    if(basic_istream_wchar_sentry_create(istream, FALSE)) {
-        MSVCP_size_t count = ios_base_width_get(&base->base)-1;
-
-        for(c = basic_streambuf_wchar_sgetc(basic_ios_wchar_rdbuf_get(base));
-                c!=WEOF && !ctype_wchar_is_ch(ctype, _SPACE|_BLANK, c) && count>0;
-                c = basic_streambuf_wchar_snextc(basic_ios_wchar_rdbuf_get(base)), count--) {
-            state = IOSTATE_goodbit;
-            *str++ = c;
-        }
-    }
-    basic_istream_wchar_sentry_destroy(istream);
-
-    *str = 0;
-    ios_base_width_set(&base->base, 0);
-    basic_ios_wchar_setstate(base, state | (c==WEOF ? IOSTATE_eofbit : IOSTATE_goodbit));
-    return istream;
-}
-
-/* ??$?5_WU?$char_traits at _W@std@@@std@@YAAAV?$basic_istream at _WU?$char_traits at _W@std@@@0 at AAV10@PA_W at Z */
-/* ??$?5_WU?$char_traits at _W@std@@@std@@YAAEAV?$basic_istream at _WU?$char_traits at _W@std@@@0 at AEAV10@PEA_W at Z */
-basic_istream_wchar* __cdecl basic_istream_wchar_read_str(basic_istream_wchar *istream, wchar_t *str)
-{
-    return basic_istream_read_str(istream, str, ctype_wchar_use_facet(
-                basic_istream_wchar_get_basic_ios(istream)->strbuf->loc));
-}
-
-/* ??$?5GU?$char_traits at G@std@@@std@@YAAAV?$basic_istream at GU?$char_traits at G@std@@@0 at AAV10@PAG at Z */
-/* ??$?5GU?$char_traits at G@std@@@std@@YAAEAV?$basic_istream at GU?$char_traits at G@std@@@0 at AEAV10@PEAG at Z */
-basic_istream_wchar* __cdecl basic_istream_short_read_str(basic_istream_wchar *istream, wchar_t *str)
-{
-    return basic_istream_read_str(istream, str, ctype_short_use_facet(
-                basic_istream_wchar_get_basic_ios(istream)->strbuf->loc));
-}
-
-/* ??$?5_WU?$char_traits at _W@std@@@std@@YAAAV?$basic_istream at _WU?$char_traits at _W@std@@@0 at AAV10@AA_W at Z */
-/* ??$?5_WU?$char_traits at _W@std@@@std@@YAAEAV?$basic_istream at _WU?$char_traits at _W@std@@@0 at AEAV10@AEA_W at Z */
-/* ??$?5GU?$char_traits at G@std@@@std@@YAAAV?$basic_istream at GU?$char_traits at G@std@@@0 at AAV10@AAG at Z */
-/* ??$?5GU?$char_traits at G@std@@@std@@YAAEAV?$basic_istream at GU?$char_traits at G@std@@@0 at AEAV10@AEAG at Z */
-basic_istream_wchar* __cdecl basic_istream_wchar_read_ch(basic_istream_wchar *istream, wchar_t *ch)
-{
-    IOSB_iostate state = IOSTATE_failbit;
-    unsigned short c = 0;
-
-    TRACE("(%p %p)\n", istream, ch);
-
-    if(basic_istream_wchar_sentry_create(istream, FALSE)) {
-        c = basic_streambuf_wchar_sbumpc(basic_ios_wchar_rdbuf_get(
-                    basic_istream_wchar_get_basic_ios(istream)));
-        if(c != WEOF) {
-            state = IOSTATE_goodbit;
-            *ch = c;
-        }
-    }
-    basic_istream_wchar_sentry_destroy(istream);
-
-    basic_ios_wchar_setstate(basic_istream_wchar_get_basic_ios(istream),
-            state | (c==WEOF ? IOSTATE_eofbit : IOSTATE_goodbit));
-    return istream;
-}
-
 /* ??5?$basic_istream at _WU?$char_traits at _W@std@@@std@@QAEAAV01 at PAV?$basic_streambuf at _WU?$char_traits at _W@std@@@1@@Z */
 /* ??5?$basic_istream at _WU?$char_traits at _W@std@@@std@@QEAAAEAV01 at PEAV?$basic_streambuf at _WU?$char_traits at _W@std@@@1@@Z */
 /* ??5?$basic_istream at GU?$char_traits at G@std@@@std@@QAEAAV01 at PAV?$basic_streambuf at GU?$char_traits at G@std@@@1@@Z */
diff --git a/dlls/msvcp100/locale.c b/dlls/msvcp100/locale.c
index e7b9863..b217232 100644
--- a/dlls/msvcp100/locale.c
+++ b/dlls/msvcp100/locale.c
@@ -276,14 +276,6 @@ MSVCP_size_t __thiscall locale_id_operator_size_t(locale_id *this)
     return this->id;
 }
 
-/* ?_Id_cnt_func at id@locale at std@@CAAAHXZ */
-/* ?_Id_cnt_func at id@locale at std@@CAAEAHXZ */
-int* __cdecl locale_id__Id_cnt_func(void)
-{
-    TRACE("\n");
-    return &locale_id__Id_cnt;
-}
-
 /* ??_Ffacet at locale@std@@QAEXXZ */
 /* ??_Ffacet at locale@std@@QEAAXXZ */
 DEFINE_THISCALL_WRAPPER(locale_facet_ctor, 4)
@@ -447,13 +439,6 @@ _Locinfo* __thiscall _Locinfo_ctor_cat_cstr(_Locinfo *this, int category, const
     return _Locinfo__Locinfo_ctor_cat_cstr(this, category, locstr);
 }
 
-/* ?_Locinfo_ctor at _Locinfo@std@@SAXPAV12 at ABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@2@@Z */
-/* ?_Locinfo_ctor at _Locinfo@std@@SAXPEAV12 at AEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@2@@Z */
-_Locinfo* __cdecl _Locinfo__Locinfo_ctor_bstr(_Locinfo *locinfo, const basic_string_char *locstr)
-{
-    return _Locinfo__Locinfo_ctor_cat_cstr(locinfo, 1/*FIXME*/, MSVCP_basic_string_char_c_str(locstr));
-}
-
 /* ??0_Locinfo at std@@QAE at ABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@1@@Z */
 /* ??0_Locinfo at std@@QEAA at AEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@1@@Z */
 DEFINE_THISCALL_WRAPPER(_Locinfo_ctor_bstr, 8)
@@ -812,26 +797,6 @@ collate* __thiscall collate_char_ctor(collate *this)
     return collate_char_ctor_name(this, "C", 0);
 }
 
-/* ?_Getcat@?$collate at D@std@@SAIPAPBVfacet at locale@2 at PBV42@@Z */
-/* ?_Getcat@?$collate at D@std@@SA_KPEAPEBVfacet at locale@2 at PEBV42@@Z */
-MSVCP_size_t __cdecl collate_char__Getcat(const locale_facet **facet, const locale *loc)
-{
-    TRACE("(%p %p)\n", facet, loc);
-
-    if(facet && !*facet) {
-        *facet = MSVCRT_operator_new(sizeof(collate));
-        if(!*facet) {
-            ERR("Out of memory\n");
-            throw_exception(EXCEPTION_BAD_ALLOC, NULL);
-            return 0;
-        }
-        collate_char_ctor_name((collate*)*facet,
-                MSVCP_basic_string_char_c_str(&loc->ptr->name), 0);
-    }
-
-    return LC_COLLATE;
-}
-
 /* _Strcoll */
 int __cdecl _Strcoll(const char *first1, const char *last1, const char *first2,
         const char *last2, const _Collvec *coll)
@@ -1055,38 +1020,6 @@ collate* __thiscall collate_short_ctor(collate *this)
     return ret;
 }
 
-/* ?_Getcat@?$collate at _W@std@@SAIPAPBVfacet at locale@2 at PBV42@@Z */
-/* ?_Getcat@?$collate at _W@std@@SA_KPEAPEBVfacet at locale@2 at PEBV42@@Z */
-MSVCP_size_t __cdecl collate_wchar__Getcat(const locale_facet **facet, const locale *loc)
-{
-    TRACE("(%p %p)\n", facet, loc);
-
-    if(facet && !*facet) {
-        *facet = MSVCRT_operator_new(sizeof(collate));
-        if(!*facet) {
-            ERR("Out of memory\n");
-            throw_exception(EXCEPTION_BAD_ALLOC, NULL);
-            return 0;
-        }
-        collate_wchar_ctor_name((collate*)*facet,
-                MSVCP_basic_string_char_c_str(&loc->ptr->name), 0);
-    }
-
-    return LC_COLLATE;
-}
-
-/* ?_Getcat@?$collate at G@std@@SAIPAPBVfacet at locale@2 at PBV42@@Z */
-/* ?_Getcat@?$collate at G@std@@SA_KPEAPEBVfacet at locale@2 at PEBV42@@Z */
-MSVCP_size_t __cdecl collate_short__Getcat(const locale_facet **facet, const locale *loc)
-{
-    if(facet && !*facet) {
-        collate_wchar__Getcat(facet, loc);
-        (*(locale_facet**)facet)->vtable = &MSVCP_collate_short_vtable;
-    }
-
-    return LC_COLLATE;
-}
-
 /* _Wcscoll */
 int __cdecl _Wcscoll(const wchar_t *first1, const wchar_t *last1, const wchar_t *first2,
         const wchar_t *last2, const _Collvec *coll)
@@ -1252,14 +1185,6 @@ MSVCP_size_t ctype_char_table_size = 256;
 /* ??_7?$ctype at D@std@@6B@ */
 extern const vtable_ptr MSVCP_ctype_char_vtable;
 
-/* ?_Id_func@?$ctype at D@std@@SAAAVid at locale@2 at XZ */
-/* ?_Id_func@?$ctype at D@std@@SAAEAVid at locale@2 at XZ */
-locale_id* __cdecl ctype_char__Id_func(void)
-{
-    TRACE("()\n");
-    return &ctype_char_id;
-}
-
 /* ?_Init@?$ctype at D@std@@IAEXABV_Locinfo at 2@@Z */
 /* ?_Init@?$ctype at D@std@@IEAAXAEBV_Locinfo at 2@@Z */
 DEFINE_THISCALL_WRAPPER(ctype_char__Init, 8)
@@ -1280,14 +1205,6 @@ void __thiscall ctype_char__Tidy(ctype_char *this)
         free((short*)this->ctype.table);
 }
 
-/* ?classic_table@?$ctype at D@std@@KAPBFXZ */
-/* ?classic_table@?$ctype at D@std@@KAPEBFXZ */
-const short* __cdecl ctype_char_classic_table(void)
-{
-    TRACE("()\n");
-    return &((short*)GetProcAddress(GetModuleHandleA("msvcrt.dll"), "_ctype"))[1];
-}
-
 /* ??0?$ctype at D@std@@QAE at ABV_Locinfo@1 at I@Z */
 /* ??0?$ctype at D@std@@QEAA at AEBV_Locinfo@1 at _K@Z */
 DEFINE_THISCALL_WRAPPER(ctype_char_ctor_locinfo, 12)
@@ -1781,22 +1698,6 @@ extern const vtable_ptr MSVCP_ctype_wchar_vtable;
 /* ??_7?$ctype at G@std@@6B@ */
 extern const vtable_ptr MSVCP_ctype_short_vtable;
 
-/* ?_Id_func@?$ctype at _W@std@@SAAAVid at locale@2 at XZ */
-/* ?_Id_func@?$ctype at _W@std@@SAAEAVid at locale@2 at XZ */
-locale_id* __cdecl ctype_wchar__Id_func(void)
-{
-    TRACE("()\n");
-    return &ctype_wchar_id;
-}
-
-/* ?_Id_func@?$ctype at G@std@@SAAAVid at locale@2 at XZ */
-/* ?_Id_func@?$ctype at G@std@@SAAEAVid at locale@2 at XZ */
-locale_id* __cdecl ctype_short__Id_func(void)
-{
-    TRACE("()\n");
-    return &ctype_short_id;
-}
-
 /* ?_Init@?$ctype at _W@std@@IAEXABV_Locinfo at 2@@Z */
 /* ?_Init@?$ctype at _W@std@@IEAAXAEBV_Locinfo at 2@@Z */
 /* ?_Init@?$ctype at G@std@@IAEXABV_Locinfo at 2@@Z */
@@ -3136,22 +3037,6 @@ codecvt_wchar* codecvt_short_use_facet(const locale *loc)
     return obj;
 }
 
-/* ?_Id_func@?$codecvt at _WDH@std@@SAAAVid at locale@2 at XZ */
-/* ?_Id_func@?$codecvt at _WDH@std@@SAAEAVid at locale@2 at XZ */
-locale_id* __cdecl codecvt_wchar__Id_func(void)
-{
-    TRACE("()\n");
-    return &codecvt_wchar_id;
-}
-
-/* ?_Id_func@?$codecvt at GDH@std@@SAAAVid at locale@2 at XZ */
-/* ?_Id_func@?$codecvt at GDH@std@@SAAEAVid at locale@2 at XZ */
-locale_id* __cdecl codecvt_short__Id_func(void)
-{
-    TRACE("()\n");
-    return &codecvt_short_id;
-}
-
 /* ?do_always_noconv@?$codecvt at GDH@std@@MBE_NXZ */
 /* ?do_always_noconv@?$codecvt at GDH@std@@MEBA_NXZ */
 /* ?do_always_noconv@?$codecvt at _WDH@std@@MBE_NXZ */
@@ -4548,22 +4433,6 @@ static int num_get__Getffld(const num_get *this, char *dest, istreambuf_iterator
     return exp;
 }
 
-/* ?_Getffld@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at 1ABVlocale@2@@Z */
-/* ?_Getffld@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@AEBAHPEADAEAV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at 1AEBVlocale@2@@Z */
-int __cdecl num_get_wchar__Getffld(const num_get *this, char *dest, istreambuf_iterator_wchar *first,
-    istreambuf_iterator_wchar *last, const locale *loc)
-{
-    return num_get__Getffld(this, dest, first, last, loc, numpunct_wchar_use_facet(loc));
-}
-
-/* ?_Getffld@?$num_get at GV?$istreambuf_iterator at GU?$char_traits at G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator at GU?$char_traits at G@std@@@2 at 1ABVlocale@2@@Z */
-/* ?_Getffld@?$num_get at GV?$istreambuf_iterator at GU?$char_traits at G@std@@@std@@@std@@AEBAHPEADAEAV?$istreambuf_iterator at GU?$char_traits at G@std@@@2 at 1AEBVlocale@2@@Z */
-int __cdecl num_get_short__Getffld(const num_get *this, char *dest, istreambuf_iterator_wchar *first,
-    istreambuf_iterator_wchar *last, const locale *loc)
-{
-    return num_get__Getffld(this, dest, first, last, loc, numpunct_short_use_facet(loc));
-}
-
 /* ?_Getffldx@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at 1AAVios_base@2 at PAH@Z */
 /* ?_Getffldx@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@AEBAHPEADAEAV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at 1AEAVios_base@2 at PEAH@Z */
 /* ?_Getffldx@?$num_get at GV?$istreambuf_iterator at GU?$char_traits at G@std@@@std@@@std@@ABAHPADAAV?$istreambuf_iterator at GU?$char_traits at G@std@@@2 at 1AAVios_base@2 at PAH@Z */
@@ -7894,14 +7763,6 @@ void __thiscall locale__Locimp__Addfac(locale__Locimp *this, locale_facet *facet
     locale__Locimp__Locimp_Addfac(this, facet, id);
 }
 
-/* ?_Clocptr_func at _Locimp@locale at std@@CAAAPAV123 at XZ */
-/* ?_Clocptr_func at _Locimp@locale at std@@CAAEAPEAV123 at XZ */
-locale__Locimp** __cdecl locale__Locimp__Clocptr_func(void)
-{
-    FIXME("stub\n");
-    return NULL;
-}
-
 /* ?_Makeushloc at _Locimp@locale at std@@CAXABV_Locinfo at 3@HPAV123 at PBV23@@Z */
 /* ?_Makeushloc at _Locimp@locale at std@@CAXAEBV_Locinfo at 3@HPEAV123 at PEBV23@@Z */
 /* List of missing facets:
diff --git a/dlls/msvcp100/math.c b/dlls/msvcp100/math.c
index 524f6ab..3722915 100644
--- a/dlls/msvcp100/math.c
+++ b/dlls/msvcp100/math.c
@@ -813,84 +813,3 @@ std_Ctraits * __thiscall std_Ctraits_op_assign( std_Ctraits *this, std_Ctraits *
 {
     return this;
 }
-
-/* ?atan2@?$_Ctraits at M@std@@SAMMM at Z -> public: static float __cdecl std::_Ctraits<float>::atan2(float,float) */
-float __cdecl std_Ctraits_float_atan2( float y, float x ) { return atan2f( y, x ); }
-
-/* ?atan2@?$_Ctraits at N@std@@SANNN at Z -> public: static double __cdecl std::_Ctraits<double>::atan2(double,double) */
-double __cdecl std_Ctraits_double_atan2( double y, double x ) { return atan2( y, x ); }
-
-/* ?atan2@?$_Ctraits at O@std@@SAOOO at Z -> public: static long double __cdecl std::_Ctraits<long double>::atan2(long double,long double) */
-LDOUBLE __cdecl std_Ctraits_long_double_atan2( LDOUBLE y, LDOUBLE x ) { return atan2( y, x ); }
-
-/* ?cos@?$_Ctraits at M@std@@SAMM at Z -> public: static float __cdecl std::_Ctraits<float>::cos(float) */
-float __cdecl std_Ctraits_float_cos( float x ) { return cosf( x ); }
-
-/* ?cos@?$_Ctraits at N@std@@SANN at Z -> public: static double __cdecl std::_Ctraits<double>::cos(double) */
-double __cdecl std_Ctraits_double_cos( double x ) { return cos( x ); }
-
-/* ?cos@?$_Ctraits at O@std@@SAOO at Z -> public: static long double __cdecl std::_Ctraits<long double>::cos(long double) */
-LDOUBLE __cdecl std_Ctraits_long_double_cos( LDOUBLE x ) { return cos( x ); }
-
-/* ?exp@?$_Ctraits at M@std@@SAMM at Z -> public: static float __cdecl std::_Ctraits<float>::exp(float) */
-float __cdecl std_Ctraits_float_exp( float x ) { return expf( x ); }
-
-/* ?exp@?$_Ctraits at N@std@@SANN at Z -> public: static double __cdecl std::_Ctraits<double>::exp(double) */
-double __cdecl std_Ctraits_double_exp( double x ) { return exp( x ); }
-
-/* ?exp@?$_Ctraits at O@std@@SAOO at Z -> public: static long double __cdecl std::_Ctraits<long double>::exp(long double) */
-LDOUBLE __cdecl std_Ctraits_long_double_exp( LDOUBLE x ) { return exp( x ); }
-
-/* ?ldexp@?$_Ctraits at M@std@@SAMMH at Z -> public: static float __cdecl std::_Ctraits<float>::ldexp(float,int) */
-float __cdecl std_Ctraits_float_ldexp( float x, int y ) { return ldexpf( x, y ); }
-
-/* ?ldexp@?$_Ctraits at N@std@@SANNH at Z -> public: static double __cdecl std::_Ctraits<double>::ldexp(double,int) */
-double __cdecl std_Ctraits_double_ldexp( double x, int y ) { return ldexp( x, y ); }
-
-/* ?ldexp@?$_Ctraits at O@std@@SAOOH at Z -> public: static long double __cdecl std::_Ctraits<long double>::ldexp(long double,int) */
-LDOUBLE __cdecl std_Ctraits_long_double_ldexp( LDOUBLE x, int y ) { return ldexp( x, y ); }
-
-/* ?log@?$_Ctraits at M@std@@SAMM at Z -> public: static float __cdecl std::_Ctraits<float>::log(float) */
-float __cdecl std_Ctraits_float_log( float x ) { return logf( x ); }
-
-/* ?log@?$_Ctraits at N@std@@SANN at Z -> public: static double __cdecl std::_Ctraits<double>::log(double) */
-double __cdecl std_Ctraits_double_log( double x ) { return log( x ); }
-
-/* ?log@?$_Ctraits at O@std@@SAOO at Z -> public: static long double __cdecl std::_Ctraits<long double>::log(long double) */
-LDOUBLE __cdecl std_Ctraits_long_double_log( LDOUBLE x ) { return log( x ); }
-
-/* ?pow@?$_Ctraits at M@std@@SAMMM at Z -> public: static float __cdecl std::_Ctraits<float>::pow(float,float) */
-float __cdecl std_Ctraits_float_pow( float x, float y ) { return powf( x, y ); }
-
-/* ?pow@?$_Ctraits at N@std@@SANNN at Z -> public: static double __cdecl std::_Ctraits<double>::pow(double,double) */
-double __cdecl std_Ctraits_double_pow( double x, double y ) { return pow( x, y ); }
-
-/* ?pow@?$_Ctraits at O@std@@SAOOO at Z -> public: static long double __cdecl std::_Ctraits<long double>::pow(long double,long double) */
-LDOUBLE __cdecl std_Ctraits_long_double_pow( LDOUBLE x, LDOUBLE y ) { return pow( x, y ); }
-
-/* ?sin@?$_Ctraits at M@std@@SAMM at Z -> public: static float __cdecl std::_Ctraits<float>::sin(float) */
-float __cdecl std_Ctraits_float_sin( float x ) { return sinf( x ); }
-
-/* ?sin@?$_Ctraits at N@std@@SANN at Z -> public: static double __cdecl std::_Ctraits<double>::sin(double) */
-double __cdecl std_Ctraits_double_sin( double x ) { return sin( x ); }
-
-/* ?sin@?$_Ctraits at O@std@@SAOO at Z -> public: static long double __cdecl std::_Ctraits<long double>::sin(long double) */
-LDOUBLE __cdecl std_Ctraits_long_double_sin( LDOUBLE x ) { return sin( x ); }
-
-/* ?sqrt@?$_Ctraits at M@std@@SAMM at Z -> public: static float __cdecl std::_Ctraits<float>::sqrt(float) */
-float __cdecl std_Ctraits_float_sqrt( float x ) { return sqrtf( x ); }
-
-/* ?sqrt@?$_Ctraits at N@std@@SANN at Z -> public: static double __cdecl std::_Ctraits<double>::sqrt(double) */
-double __cdecl std_Ctraits_double_sqrt( double x ) { return sqrt( x ); }
-
-/* ?sqrt@?$_Ctraits at O@std@@SAOO at Z -> public: static long double __cdecl std::_Ctraits<long double>::sqrt(long double) */
-LDOUBLE __cdecl std_Ctraits_long_double_sqrt( LDOUBLE x ) { return sqrt( x ); }
-
-/* ?tan@?$_Ctraits at M@std@@SAMM at Z -> public: static float __cdecl std::_Ctraits<float>::tan(float) */
-float __cdecl std_Ctraits_float_tan( float x ) { return tanf( x ); }
-
-/* ?tan@?$_Ctraits at N@std@@SANN at Z -> public: static double __cdecl std::_Ctraits<double>::tan(double) */
-double __cdecl std_Ctraits_double_tan( double x ) { return tan( x ); }
-
-/* ?tan@?$_Ctraits at O@std@@SAOO at Z -> public: static long double __cdecl std::_Ctraits<long double>::tan(long double) */
-LDOUBLE __cdecl std_Ctraits_long_double_tan( LDOUBLE x ) { return tan( x ); }
diff --git a/dlls/msvcp100/msvcp.h b/dlls/msvcp100/msvcp.h
index bb36760..f43982f 100644
--- a/dlls/msvcp100/msvcp.h
+++ b/dlls/msvcp100/msvcp.h
@@ -183,7 +183,6 @@ codecvt_wchar* codecvt_wchar_use_facet(const locale*);
 codecvt_wchar* codecvt_short_use_facet(const locale*);
 ctype_char* ctype_char_use_facet(const locale*);
 ctype_wchar* ctype_wchar_use_facet(const locale*);
-ctype_wchar* ctype_short_use_facet(const locale*);
 
 /* class _Lockit */
 typedef struct {
diff --git a/dlls/msvcp100/string.c b/dlls/msvcp100/string.c
index ab1e7a8..bbd01b4 100644
--- a/dlls/msvcp100/string.c
+++ b/dlls/msvcp100/string.c
@@ -60,20 +60,6 @@ static void CDECL MSVCP_char_traits_char_assign(char *ch, const char *assign)
     *ch = *assign;
 }
 
-/* ?eq@?$char_traits at D@std@@SA_NABD0 at Z */
-/* ?eq@?$char_traits at D@std@@SA_NAEBD0 at Z */
-MSVCP_bool CDECL MSVCP_char_traits_char_eq(const char *ch1, const char *ch2)
-{
-    return *ch1 == *ch2;
-}
-
-/* ?lt@?$char_traits at D@std@@SA_NABD0 at Z */
-/* ?lt@?$char_traits at D@std@@SA_NAEBD0 at Z */
-MSVCP_bool CDECL MSVCP_char_traits_lt(const char *ch1, const char *ch2)
-{
-    return *ch1 < *ch2;
-}
-
 /* ?compare@?$char_traits at D@std@@SAHPBD0I at Z */
 /* ?compare@?$char_traits at D@std@@SAHPEBD0_K at Z */
 static int CDECL MSVCP_char_traits_char_compare(
@@ -105,14 +91,6 @@ static char* CDECL MSVCP_char_traits_char__Copy_s(char *dest,
     return memcpy(dest, src, count);
 }
 
-/* ?copy@?$char_traits at D@std@@SAPADPADPBDI at Z */
-/* ?copy@?$char_traits at D@std@@SAPEADPEADPEBD_K at Z */
-char* CDECL MSVCP_char_traits_char_copy(
-        char *dest, const char *src, MSVCP_size_t count)
-{
-    return MSVCP_char_traits_char__Copy_s(dest, count, src, count);
-}
-
 /* ?find@?$char_traits at D@std@@SAPBDPBDIABD at Z */
 /* ?find@?$char_traits at D@std@@SAPEBDPEBD_KAEBD at Z */
 static const char * CDECL MSVCP_char_traits_char_find(
@@ -136,14 +114,6 @@ static char* CDECL MSVCP_char_traits_char__Move_s(char *dest,
     return memmove(dest, src, count);
 }
 
-/* ?move@?$char_traits at D@std@@SAPADPADPBDI at Z */
-/* ?move@?$char_traits at D@std@@SAPEADPEADPEBD_K at Z */
-char* CDECL MSVCP_char_traits_char_move(
-        char *dest, const char *src, MSVCP_size_t count)
-{
-    return MSVCP_char_traits_char__Move_s(dest, count, src, count);
-}
-
 /* ?assign@?$char_traits at D@std@@SAPADPADID at Z */
 /* ?assign@?$char_traits at D@std@@SAPEADPEAD_KD at Z */
 static char* CDECL MSVCP_char_traits_char_assignn(char *str, MSVCP_size_t num, char c)
@@ -151,40 +121,6 @@ static char* CDECL MSVCP_char_traits_char_assignn(char *str, MSVCP_size_t num, c
     return memset(str, c, num);
 }
 
-/* ?to_char_type@?$char_traits at D@std@@SADABH at Z */
-/* ?to_char_type@?$char_traits at D@std@@SADAEBH at Z */
-char CDECL MSVCP_char_traits_char_to_char_type(const int *i)
-{
-    return (char)*i;
-}
-
-/* ?to_int_type@?$char_traits at D@std@@SAHABD at Z */
-/* ?to_int_type@?$char_traits at D@std@@SAHAEBD at Z */
-int CDECL MSVCP_char_traits_char_to_int_type(const char *ch)
-{
-    return (int)*ch;
-}
-
-/* ?eq_int_type@?$char_traits at D@std@@SA_NABH0 at Z */
-/* ?eq_int_type@?$char_traits at D@std@@SA_NAEBH0 at Z */
-MSVCP_bool CDECL MSVCP_char_traits_char_eq_int_type(const int *i1, const int *i2)
-{
-    return *i1 == *i2;
-}
-
-/* ?eof@?$char_traits at D@std@@SAHXZ */
-int CDECL MSVCP_char_traits_char_eof(void)
-{
-    return EOF;
-}
-
-/* ?not_eof@?$char_traits at D@std@@SAHABH at Z */
-/* ?not_eof@?$char_traits at D@std@@SAHAEBH at Z */
-int CDECL MSVCP_char_traits_char_not_eof(int *in)
-{
-    return (*in==EOF ? !EOF : *in);
-}
-
 
 /* char_traits<wchar_t> */
 /* ?assign@?$char_traits at _W@std@@SAXAA_WAB_W at Z */
@@ -195,21 +131,6 @@ static void CDECL MSVCP_char_traits_wchar_assign(wchar_t *ch,
     *ch = *assign;
 }
 
-/* ?eq@?$char_traits at _W@std@@SA_NAB_W0 at Z */
-/* ?eq@?$char_traits at _W@std@@SA_NAEB_W0 at Z */
-MSVCP_bool CDECL MSVCP_char_traits_wchar_eq(wchar_t *ch1, wchar_t *ch2)
-{
-    return *ch1 == *ch2;
-}
-
-/* ?lt@?$char_traits at _W@std@@SA_NAB_W0 at Z */
-/* ?lt@?$char_traits at _W@std@@SA_NAEB_W0 at Z */
-MSVCP_bool CDECL MSVCP_char_traits_wchar_lt(const wchar_t *ch1,
-        const wchar_t *ch2)
-{
-    return *ch1 < *ch2;
-}
-
 /* ?compare@?$char_traits at _W@std@@SAHPB_W0I at Z */
 /* ?compare@?$char_traits at _W@std@@SAHPEB_W0_K at Z */
 static int CDECL MSVCP_char_traits_wchar_compare(const wchar_t *s1,
@@ -241,14 +162,6 @@ static wchar_t* CDECL MSVCP_char_traits_wchar__Copy_s(wchar_t *dest,
     return memcpy(dest, src, count * sizeof(wchar_t));
 }
 
-/* ?copy@?$char_traits at _W@std@@SAPA_WPA_WPB_WI at Z */
-/* ?copy@?$char_traits at _W@std@@SAPEA_WPEA_WPEB_W_K at Z */
-wchar_t* CDECL MSVCP_char_traits_wchar_copy(wchar_t *dest,
-        const wchar_t *src, MSVCP_size_t count)
-{
-    return MSVCP_char_traits_wchar__Copy_s(dest, count, src, count);
-}
-
 /* ?find@?$char_traits at _W@std@@SAPB_WPB_WIAB_W at Z */
 /* ?find@?$char_traits at _W@std@@SAPEB_WPEB_W_KAEB_W at Z */
 static const wchar_t* CDECL MSVCP_char_traits_wchar_find(
@@ -278,14 +191,6 @@ static wchar_t* CDECL MSVCP_char_traits_wchar__Move_s(wchar_t *dest,
     return memmove(dest, src, count * sizeof(WCHAR));
 }
 
-/* ?move@?$char_traits at _W@std@@SAPA_WPA_WPB_WI at Z */
-/* ?move@?$char_traits at _W@std@@SAPEA_WPEA_WPEB_W_K at Z */
-wchar_t* CDECL MSVCP_char_traits_wchar_move(wchar_t *dest,
-        const wchar_t *src, MSVCP_size_t count)
-{
-    return MSVCP_char_traits_wchar__Move_s(dest, count, src, count);
-}
-
 /* ?assign@?$char_traits at _W@std@@SAPA_WPA_WI_W at Z */
 /* ?assign@?$char_traits at _W@std@@SAPEA_WPEA_W_K_W at Z */
 static wchar_t* CDECL MSVCP_char_traits_wchar_assignn(wchar_t *str,
@@ -299,196 +204,6 @@ static wchar_t* CDECL MSVCP_char_traits_wchar_assignn(wchar_t *str,
     return str;
 }
 
-/* ?to_char_type@?$char_traits at _W@std@@SA_WABG at Z */
-/* ?to_char_type@?$char_traits at _W@std@@SA_WAEBG at Z */
-wchar_t CDECL MSVCP_char_traits_wchar_to_char_type(const unsigned short *i)
-{
-    return *i;
-}
-
-/* ?to_int_type@?$char_traits at _W@std@@SAGAB_W at Z */
-/* ?to_int_type@?$char_traits at _W@std@@SAGAEB_W at Z */
-unsigned short CDECL MSVCP_char_traits_wchar_to_int_type(const wchar_t *ch)
-{
-    return *ch;
-}
-
-/* ?eq_int_type@?$char_traits at _W@std@@SA_NABG0 at Z */
-/* ?eq_int_type@?$char_traits at _W@std@@SA_NAEBG0 at Z */
-MSVCP_bool CDECL MSVCP_char_traits_wchar_eq_int_tpe(const unsigned short *i1,
-        const unsigned short *i2)
-{
-    return *i1 == *i2;
-}
-
-/* ?eof@?$char_traits at _W@std@@SAGXZ */
-unsigned short CDECL MSVCP_char_traits_wchar_eof(void)
-{
-    return WEOF;
-}
-
-/* ?not_eof@?$char_traits at _W@std@@SAGABG at Z */
-/* ?not_eof@?$char_traits at _W@std@@SAGAEBG at Z */
-unsigned short CDECL MSVCP_char_traits_wchar_not_eof(const unsigned short *in)
-{
-    return (*in==WEOF ? !WEOF : *in);
-}
-
-
-/* char_traits<unsigned short> */
-/* ?assign@?$char_traits at G@std@@SAXAAGABG at Z */
-/* ?assign@?$char_traits at G@std@@SAXAEAGAEBG at Z */
-void CDECL MSVCP_char_traits_short_assign(unsigned short *ch,
-        const unsigned short *assign)
-{
-    *ch = *assign;
-}
-
-/* ?eq@?$char_traits at G@std@@SA_NABG0 at Z */
-/* ?eq@?$char_traits at G@std@@SA_NAEBG0 at Z */
-MSVCP_bool CDECL MSVCP_char_traits_short_eq(const unsigned short *ch1,
-        const unsigned short *ch2)
-{
-    return *ch1 == *ch2;
-}
-
-/* ?lt@?$char_traits at G@std@@SA_NABG0 at Z */
-/* ?lt@?$char_traits at G@std@@SA_NAEBG0 at Z */
-MSVCP_bool CDECL MSVCP_char_traits_short_lt(const unsigned short *ch1,
-        const unsigned short *ch2)
-{
-    return *ch1 < *ch2;
-}
-
-/* ?compare@?$char_traits at G@std@@SAHPBG0I at Z */
-/* ?compare@?$char_traits at G@std@@SAHPEBG0_K at Z */
-int CDECL MSVCP_char_traits_short_compare(const unsigned short *s1,
-        const unsigned short *s2, MSVCP_size_t count)
-{
-    MSVCP_size_t i;
-
-    for(i=0; i<count; i++)
-        if(s1[i] != s2[i])
-            return (s1[i] < s2[i] ? -1 : 1);
-
-    return 0;
-}
-
-/* ?length@?$char_traits at G@std@@SAIPBG at Z */
-/* ?length@?$char_traits at G@std@@SA_KPEBG at Z */
-MSVCP_size_t CDECL MSVCP_char_traits_short_length(const unsigned short *str)
-{
-    MSVCP_size_t len;
-
-    for(len=0; str[len]; len++);
-
-    return len;
-}
-
-/* ?_Copy_s@?$char_traits at G@std@@SAPAGPAGIPBGI at Z */
-/* ?_Copy_s@?$char_traits at G@std@@SAPEAGPEAG_KPEBG1 at Z */
-unsigned short * CDECL MSVCP_char_traits_short__Copy_s(unsigned short *dest,
-        MSVCP_size_t size, const unsigned short *src, MSVCP_size_t count)
-{
-    if(size<count) {
-        _invalid_parameter(NULL, NULL, NULL, 0, 0);
-        return dest;
-    }
-
-    return memcpy(dest, src, count * sizeof(unsigned short));
-}
-
-/* ?copy@?$char_traits at G@std@@SAPAGPAGPBGI at Z */
-/* ?copy@?$char_traits at G@std@@SAPEAGPEAGPEBG_K at Z */
-unsigned short* CDECL MSVCP_char_traits_short_copy(unsigned short *dest,
-        const unsigned short *src, MSVCP_size_t count)
-{
-    return MSVCP_char_traits_short__Copy_s(dest, count, src, count);
-}
-
-/* ?find@?$char_traits at G@std@@SAPBGPBGIABG at Z */
-/* ?find@?$char_traits at G@std@@SAPEBGPEBG_KAEBG at Z */
-const unsigned short* CDECL MSVCP_char_traits_short_find(
-        const unsigned short *str, MSVCP_size_t range, const unsigned short *c)
-{
-    MSVCP_size_t i;
-
-    for(i=0; i<range; i++)
-        if(str[i] == *c)
-            return str+i;
-
-    return NULL;
-}
-
-/* ?_Move_s@?$char_traits at G@std@@SAPAGPAGIPBGI at Z */
-/* ?_Move_s@?$char_traits at G@std@@SAPEAGPEAG_KPEBG1 at Z */
-unsigned short* CDECL MSVCP_char_traits_short__Move_s(unsigned short *dest,
-        MSVCP_size_t size, const unsigned short *src, MSVCP_size_t count)
-{
-    if(size<count) {
-        _invalid_parameter(NULL, NULL, NULL, 0, 0);
-        return dest;
-    }
-
-    return memmove(dest, src, count * sizeof(unsigned short));
-}
-
-/* ?move@?$char_traits at G@std@@SAPAGPAGPBGI at Z */
-/* ?move@?$char_traits at G@std@@SAPEAGPEAGPEBG_K at Z */
-unsigned short* CDECL MSVCP_char_traits_short_move(unsigned short *dest,
-        const unsigned short *src, MSVCP_size_t count)
-{
-    return MSVCP_char_traits_short__Move_s(dest, count, src, count);
-}
-
-/* ?assign@?$char_traits at G@std@@SAPAGPAGIG at Z */
-/* ?assign@?$char_traits at G@std@@SAPEAGPEAG_KG at Z */
-unsigned short* CDECL MSVCP_char_traits_short_assignn(unsigned short *str,
-        MSVCP_size_t num, unsigned short c)
-{
-    MSVCP_size_t i;
-
-    for(i=0; i<num; i++)
-        str[i] = c;
-
-    return str;
-}
-
-/* ?to_char_type@?$char_traits at G@std@@SAGABG at Z */
-/* ?to_char_type@?$char_traits at G@std@@SAGAEBG at Z */
-unsigned short CDECL MSVCP_char_traits_short_to_char_type(const unsigned short *i)
-{
-    return *i;
-}
-
-/* ?to_int_type@?$char_traits at G@std@@SAGABG at Z */
-/* ?to_int_type@?$char_traits at G@std@@SAGAEBG at Z */
-unsigned short CDECL MSVCP_char_traits_short_to_int_type(const unsigned short *ch)
-{
-    return *ch;
-}
-
-/* ?eq_int_type@?$char_traits at G@std@@SA_NABG0 at Z */
-/* ?eq_int_type@?$char_traits at G@std@@SA_NAEBG0 at Z */
-MSVCP_bool CDECL MSVCP_char_traits_short_eq_int_type(unsigned short *i1,
-        unsigned short *i2)
-{
-    return *i1 == *i2;
-}
-
-/* ?eof@?$char_traits at G@std@@SAGXZ */
-unsigned short CDECL MSVCP_char_traits_short_eof(void)
-{
-    return -1;
-}
-
-/* ?not_eof@?$char_traits at G@std@@SAGABG at Z */
-/* ?not_eof@?$char_traits at G@std@@SAGAEBG at Z */
-unsigned short CDECL MSVCP_char_traits_short_not_eof(const unsigned short *in)
-{
-    return (*in==(unsigned short)-1 ? 0 : *in);
-}
-
 
 /* _String_base */
 /* ?_Xlen at _String_base@std@@SAXXZ */
@@ -509,15 +224,6 @@ static void CDECL MSVCP__String_base_Xran(void)
     throw_exception(EXCEPTION_OUT_OF_RANGE, msg);
 }
 
-/* ?_Xinvarg at _String_base@std@@SAXXZ */
-void CDECL MSVCP__String_base_Xinvarg(void)
-{
-    static const char msg[] = "invalid string argument";
-
-    TRACE("\n");
-    throw_exception(EXCEPTION_INVALID_ARGUMENT, msg);
-}
-
 
 /* basic_string<char, char_traits<char>, allocator<char>> */
 /* ?npos@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@2IB */
@@ -1257,66 +963,6 @@ basic_string_char* __thiscall MSVCP_basic_string_char_append_ch(
     return MSVCP_basic_string_char_append_len_ch(this, 1, ch);
 }
 
-/* ??$?HDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA?AV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at ABV10@PBD at Z */
-/* ??$?HDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA?AV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at AEBV10@PEBD at Z */
-basic_string_char* __cdecl MSVCP_basic_string_char_concatenate_bstr_cstr(basic_string_char *ret,
-        const basic_string_char *left, const char *right)
-{
-    TRACE("%p %s\n", left, debugstr_a(right));
-
-    MSVCP_basic_string_char_copy_ctor(ret, left);
-    MSVCP_basic_string_char_append_cstr(ret, right);
-    return ret;
-}
-
-/* ??$?HDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA?AV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at PBDABV10@@Z */
-/* ??$?HDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA?AV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at PEBDAEBV10@@Z */
-basic_string_char* __cdecl MSVCP_basic_string_char_concatenate_cstr_bstr(basic_string_char *ret,
-        const char *left, const basic_string_char *right)
-{
-    TRACE("%s %p\n", debugstr_a(left), right);
-
-    MSVCP_basic_string_char_ctor_cstr(ret, left);
-    MSVCP_basic_string_char_append(ret, right);
-    return ret;
-}
-
-/* ??$?HDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA?AV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at ABV10@0 at Z */
-/* ??$?HDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA?AV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at AEBV10@0 at Z */
-basic_string_char* __cdecl MSVCP_basic_string_char_concatenate(basic_string_char *ret,
-        const basic_string_char *left, const basic_string_char *right)
-{
-    TRACE("%p %p\n", left, right);
-
-    MSVCP_basic_string_char_copy_ctor(ret, left);
-    MSVCP_basic_string_char_append(ret, right);
-    return ret;
-}
-
-/* ??$?HDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA?AV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at ABV10@D at Z */
-/* ??$?HDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA?AV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at AEBV10@D at Z */
-basic_string_char* __cdecl MSVCP_basic_string_char_concatenate_bstr_ch(basic_string_char *ret,
-        const basic_string_char *left, char right)
-{
-    TRACE("%p %c\n", left, right);
-
-    MSVCP_basic_string_char_copy_ctor(ret, left);
-    MSVCP_basic_string_char_append_ch(ret, right);
-    return ret;
-}
-
-/* ??$?HDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA?AV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at DABV10@@Z */
-/* ??$?HDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA?AV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at DAEBV10@@Z */
-basic_string_char* __cdecl MSVCP_basic_string_char_concatenate_ch_bstr(basic_string_char *ret,
-        char left, const basic_string_char *right)
-{
-    TRACE("%c %p\n", left, right);
-
-    MSVCP_basic_string_char_ctor_cstr_len(ret, &left, 1);
-    MSVCP_basic_string_char_append(ret, right);
-    return ret;
-}
-
 /* ?compare@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QBEHIIPBDI at Z */
 /* ?compare@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEBAH_K0PEBD0 at Z */
 DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_compare_substr_cstr_len, 20)
@@ -1406,150 +1052,6 @@ int __thiscall MSVCP_basic_string_char_compare(
             basic_string_char_const_ptr(compare), compare->size);
 }
 
-/* ??$?8DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at 0@Z */
-/* ??$?8DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at 0@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_char_equal(
-        const basic_string_char *left, const basic_string_char *right)
-{
-    return MSVCP_basic_string_char_compare(left, right) == 0;
-}
-
-/* ??$?8DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at PBD@Z */
-/* ??$?8DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at PEBD@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_char_equal_str_cstr(
-        const basic_string_char *left, const char *right)
-{
-    return MSVCP_basic_string_char_compare_cstr(left, right) == 0;
-}
-
-/* ??$?8DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NPBDABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0@@Z */
-/* ??$?8DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NPEBDAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0@@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_char_equal_cstr_str(
-        const char *left, const basic_string_char *right)
-{
-    return MSVCP_basic_string_char_compare_cstr(right, left) == 0;
-}
-
-/* ??$?9DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at 0@Z */
-/* ??$?9DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at 0@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_char_not_equal(
-        const basic_string_char *left, const basic_string_char *right)
-{
-    return MSVCP_basic_string_char_compare(left, right) != 0;
-}
-
-/* ??$?9DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at PBD@Z */
-/* ??$?9DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at PEBD@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_char_not_equal_str_cstr(
-        const basic_string_char *left, const char *right)
-{
-    return MSVCP_basic_string_char_compare_cstr(left, right) != 0;
-}
-
-/* ??$?9DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NPBDABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0@@Z */
-/* ??$?9DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NPEBDAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0@@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_char_not_equal_cstr_str(
-        const char *left, const basic_string_char *right)
-{
-    return MSVCP_basic_string_char_compare_cstr(right, left) != 0;
-}
-
-/* ??$?MDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at 0@Z */
-/* ??$?MDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at 0@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_char_lower(
-        const basic_string_char *left, const basic_string_char *right)
-{
-    return MSVCP_basic_string_char_compare(left, right) < 0;
-}
-
-/* ??$?MDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at PBD@Z */
-/* ??$?MDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at PEBD@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_char_lower_bstr_cstr(
-        const basic_string_char *left, const char *right)
-{
-    return MSVCP_basic_string_char_compare_cstr(left, right) < 0;
-}
-
-/* ??$?MDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NPBDABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0@@Z */
-/* ??$?MDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NPEBDAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0@@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_char_lower_cstr_bstr(
-        const char *left, const basic_string_char *right)
-{
-    return MSVCP_basic_string_char_compare_cstr(right, left) > 0;
-}
-
-/* ??$?NDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at 0@Z */
-/* ??$?NDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at 0@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_char_leq(
-        const basic_string_char *left, const basic_string_char *right)
-{
-    return MSVCP_basic_string_char_compare(left, right) <= 0;
-}
-
-/* ??$?NDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at PBD@Z */
-/* ??$?NDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at PEBD@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_char_leq_bstr_cstr(
-        const basic_string_char *left, const char *right)
-{
-    return MSVCP_basic_string_char_compare_cstr(left, right) <= 0;
-}
-
-/* ??$?NDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NPBDABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0@@Z */
-/* ??$?NDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NPEBDAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0@@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_char_leq_cstr_bstr(
-        const char *left, const basic_string_char *right)
-{
-    return MSVCP_basic_string_char_compare_cstr(right, left) >= 0;
-}
-
-/* ??$?ODU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at 0@Z */
-/* ??$?ODU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at 0@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_char_greater(
-        const basic_string_char *left, const basic_string_char *right)
-{
-    return MSVCP_basic_string_char_compare(left, right) > 0;
-}
-
-/* ??$?ODU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at PBD@Z */
-/* ??$?ODU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at PEBD@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_char_greater_bstr_cstr(
-        const basic_string_char *left, const char *right)
-{
-    return MSVCP_basic_string_char_compare_cstr(left, right) > 0;
-}
-
-/* ??$?ODU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NPBDABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0@@Z */
-/* ??$?ODU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NPEBDAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0@@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_char_greater_cstr_bstr(
-        const char *left, const basic_string_char *right)
-{
-    return MSVCP_basic_string_char_compare_cstr(right, left) < 0;
-}
-
-/* ??$?PDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at 0@Z */
-/* ??$?PDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at 0@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_char_geq(
-        const basic_string_char *left, const basic_string_char *right)
-{
-    return MSVCP_basic_string_char_compare(left, right) >= 0;
-}
-
-/* ??$?PDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at PBD@Z */
-/* ??$?PDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at PEBD@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_char_geq_bstr_cstr(
-        const basic_string_char *left, const char *right)
-{
-    return MSVCP_basic_string_char_compare_cstr(left, right) >= 0;
-}
-
-/* ??$?PDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NPBDABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0@@Z */
-/* ??$?PDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NPEBDAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0@@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_char_geq_cstr_bstr(
-        const char *left, const basic_string_char *right)
-{
-    return MSVCP_basic_string_char_compare_cstr(right, left) <= 0;
-}
-
 /* ?find@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QBEIPBDII at Z */
 /* ?find@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEBA_KPEBD_K1 at Z */
 DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_find_cstr_substr, 16)
@@ -1991,13 +1493,6 @@ basic_string_char* __thiscall basic_string_char_replace_cstr_len(basic_string_ch
     return this;
 }
 
-/* Not exported from msvcp90 */
-basic_string_char* basic_string_char_replace_helper(basic_string_char *this,
-        MSVCP_size_t off, MSVCP_size_t len, const char *str, MSVCP_size_t str_len)
-{
-    return basic_string_char_replace_cstr_len(this, off, len, str, str_len);
-}
-
 /* ?replace@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAEAAV12 at IIPBD@Z */
 /* ?replace@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAAAEAV12 at _K0PEBD@Z */
 DEFINE_THISCALL_WRAPPER(basic_string_char_replace_cstr, 16)
@@ -3179,76 +2674,6 @@ basic_string_wchar* __thiscall MSVCP_basic_string_wchar_append_ch(
     return MSVCP_basic_string_wchar_append_len_ch(this, 1, ch);
 }
 
-/* ??$?H_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA?AV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at ABV10@PB_W at Z */
-/* ??$?H_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA?AV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at AEBV10@PEB_W at Z */
-/* ??$?HGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA?AV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at ABV10@PBG at Z */
-/* ??$?HGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA?AV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at AEBV10@PEBG at Z */
-basic_string_wchar* __cdecl MSVCP_basic_string_wchar_concatenate_bstr_cstr(basic_string_wchar *ret,
-        const basic_string_wchar *left, const wchar_t *right)
-{
-    TRACE("%p %s\n", left, debugstr_w(right));
-
-    MSVCP_basic_string_wchar_copy_ctor(ret, left);
-    MSVCP_basic_string_wchar_append_cstr(ret, right);
-    return ret;
-}
-
-/* ??$?H_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA?AV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at PB_WABV10@@Z */
-/* ??$?H_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA?AV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at PEB_WAEBV10@@Z */
-/* ??$?HGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA?AV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at PBGABV10@@Z */
-/* ??$?HGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA?AV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at PEBGAEBV10@@Z */
-basic_string_wchar* __cdecl MSVCP_basic_string_wchar_concatenate_cstr_bstr(basic_string_wchar *ret,
-        const wchar_t *left, const basic_string_wchar *right)
-{
-    TRACE("%s %p\n", debugstr_w(left), right);
-
-    MSVCP_basic_string_wchar_ctor_cstr(ret, left);
-    MSVCP_basic_string_wchar_append(ret, right);
-    return ret;
-}
-
-/* ??$?H_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA?AV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at ABV10@0 at Z */
-/* ??$?H_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA?AV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at AEBV10@0 at Z */
-/* ??$?HGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA?AV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at ABV10@0 at Z */
-/* ??$?HGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA?AV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at AEBV10@0 at Z */
-basic_string_wchar* __cdecl MSVCP_basic_string_wchar_concatenate(basic_string_wchar *ret,
-        const basic_string_wchar *left, const basic_string_wchar *right)
-{
-    TRACE("%p %p\n", left, right);
-
-    MSVCP_basic_string_wchar_copy_ctor(ret, left);
-    MSVCP_basic_string_wchar_append(ret, right);
-    return ret;
-}
-
-/* ??$?H_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA?AV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at ABV10@_W at Z */
-/* ??$?H_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA?AV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at AEBV10@_W at Z */
-/* ??$?HGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA?AV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at ABV10@G at Z */
-/* ??$?HGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA?AV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at AEBV10@G at Z */
-basic_string_wchar* __cdecl MSVCP_basic_string_wchar_concatenate_bstr_ch(
-        basic_string_wchar *ret, const basic_string_wchar *left, wchar_t right)
-{
-    TRACE("%p %c\n", left, right);
-
-    MSVCP_basic_string_wchar_copy_ctor(ret, left);
-    MSVCP_basic_string_wchar_append_ch(ret, right);
-    return ret;
-}
-
-/* ??$?H_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA?AV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at _WABV10@@Z */
-/* ??$?H_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA?AV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at _WAEBV10@@Z */
-/* ??$?HGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA?AV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at GABV10@@Z */
-/* ??$?HGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA?AV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at GAEBV10@@Z */
-basic_string_wchar* __cdecl MSVCP_basic_string_wchar_concatenate_ch_bstr(
-        basic_string_wchar* ret, wchar_t left, const basic_string_wchar *right)
-{
-    TRACE("%c %p\n", left, right);
-
-    MSVCP_basic_string_wchar_ctor_cstr_len(ret, &left, 1);
-    MSVCP_basic_string_wchar_append(ret, right);
-    return ret;
-}
-
 /* ?compare@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QBEHIIPB_WI at Z */
 /* ?compare@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEBAH_K0PEB_W0 at Z */
 /* ?compare@?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@std@@QBEHIIPBGI at Z */
@@ -3350,186 +2775,6 @@ int __thiscall MSVCP_basic_string_wchar_compare(
             basic_string_wchar_const_ptr(compare), compare->size);
 }
 
-/* ??$?8_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at 0@Z */
-/* ??$?8_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at 0@Z */
-/* ??$?8GU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NABV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at 0@Z */
-/* ??$?8GU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NAEBV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at 0@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_wchar_equal(
-        const basic_string_wchar *left, const basic_string_wchar *right)
-{
-    return MSVCP_basic_string_wchar_compare(left, right) == 0;
-}
-
-/* ??$?8_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at PB_W@Z */
-/* ??$?8_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at PEB_W@Z */
-/* ??$?8GU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NABV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at PBG@Z */
-/* ??$?8GU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NAEBV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at PEBG@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_wchar_equal_str_cstr(
-        const basic_string_wchar *left, const wchar_t *right)
-{
-    return MSVCP_basic_string_wchar_compare_cstr(left, right) == 0;
-}
-
-/* ??$?8_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NPB_WABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0@@Z */
-/* ??$?8_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NPEB_WAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0@@Z */
-/* ??$?8GU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NPBGABV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0@@Z */
-/* ??$?8GU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NPEBGAEBV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0@@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_wchar_equal_cstr_str(
-        const wchar_t *left, const basic_string_wchar *right)
-{
-    return MSVCP_basic_string_wchar_compare_cstr(right, left) == 0;
-}
-
-/* ??$?9_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at 0@Z */
-/* ??$?9_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at 0@Z */
-/* ??$?9GU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NABV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at 0@Z */
-/* ??$?9GU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NAEBV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at 0@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_wchar_not_equal(
-        const basic_string_wchar *left, const basic_string_wchar *right)
-{
-    return MSVCP_basic_string_wchar_compare(left, right) != 0;
-}
-
-/* ??$?9_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at PB_W@Z */
-/* ??$?9_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at PEB_W@Z */
-/* ??$?9GU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NABV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at PBG@Z */
-/* ??$?9GU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NAEBV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at PEBG@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_wchar_not_equal_str_cstr(
-        const basic_string_wchar *left, const wchar_t *right)
-{
-    return MSVCP_basic_string_wchar_compare_cstr(left, right) != 0;
-}
-
-/* ??$?9_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NPB_WABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0@@Z */
-/* ??$?9_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NPEB_WAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0@@Z */
-/* ??$?9GU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NPBGABV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0@@Z */
-/* ??$?9GU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NPEBGAEBV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0@@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_wchar_not_equal_cstr_str(
-        const wchar_t *left, const basic_string_wchar *right)
-{
-    return MSVCP_basic_string_wchar_compare_cstr(right, left) != 0;
-}
-
-/* ??$?M_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at 0@Z */
-/* ??$?M_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at 0@Z */
-/* ??$?MGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NABV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at 0@Z */
-/* ??$?MGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NAEBV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at 0@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_wchar_lower(
-        const basic_string_wchar *left, const basic_string_wchar *right)
-{
-    return MSVCP_basic_string_wchar_compare(left, right) < 0;
-}
-
-/* ??$?M_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at PB_W@Z */
-/* ??$?M_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at PEB_W@Z */
-/* ??$?MGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NABV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at PBG@Z */
-/* ??$?MGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NAEBV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at PEBG@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_wchar_lower_bstr_cstr(
-        const basic_string_wchar *left, const wchar_t *right)
-{
-    return MSVCP_basic_string_wchar_compare_cstr(left, right) < 0;
-}
-
-/* ??$?M_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NPB_WABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0@@Z */
-/* ??$?M_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NPEB_WAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0@@Z */
-/* ??$?MGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NPBGABV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0@@Z */
-/* ??$?MGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NPEBGAEBV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0@@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_wchar_lower_cstr_bstr(
-        const wchar_t *left, const basic_string_wchar *right)
-{
-    return MSVCP_basic_string_wchar_compare_cstr(right, left) > 0;
-}
-
-/* ??$?N_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at 0@Z */
-/* ??$?N_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at 0@Z */
-/* ??$?NGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NABV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at 0@Z */
-/* ??$?NGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NAEBV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at 0@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_wchar_leq(
-        const basic_string_wchar *left, const basic_string_wchar *right)
-{
-    return MSVCP_basic_string_wchar_compare(left, right) <= 0;
-}
-
-/* ??$?N_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at PB_W@Z */
-/* ??$?N_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at PEB_W@Z */
-/* ??$?NGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NABV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at PBG@Z */
-/* ??$?NGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NAEBV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at PEBG@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_wchar_leq_bstr_cstr(
-        const basic_string_wchar *left, const wchar_t *right)
-{
-    return MSVCP_basic_string_wchar_compare_cstr(left, right) <= 0;
-}
-
-/* ??$?N_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NPB_WABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0@@Z */
-/* ??$?N_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NPEB_WAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0@@Z */
-/* ??$?NGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NPBGABV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0@@Z */
-/* ??$?NGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NPEBGAEBV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0@@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_wchar_leq_cstr_bstr(
-        const wchar_t *left, const basic_string_wchar *right)
-{
-    return MSVCP_basic_string_wchar_compare_cstr(right, left) >= 0;
-}
-
-/* ??$?O_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at 0@Z */
-/* ??$?O_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at 0@Z */
-/* ??$?OGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NABV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at 0@Z */
-/* ??$?OGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NAEBV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at 0@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_wchar_greater(
-        const basic_string_wchar *left, const basic_string_wchar *right)
-{
-    return MSVCP_basic_string_wchar_compare(left, right) > 0;
-}
-
-/* ??$?O_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at PB_W@Z */
-/* ??$?O_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at PEB_W@Z */
-/* ??$?OGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NABV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at PBG@Z */
-/* ??$?OGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NAEBV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at PEBG@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_wchar_greater_bstr_cstr(
-        const basic_string_wchar *left, const wchar_t *right)
-{
-    return MSVCP_basic_string_wchar_compare_cstr(left, right) > 0;
-}
-
-/* ??$?O_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NPB_WABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0@@Z */
-/* ??$?O_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NPEB_WAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0@@Z */
-/* ??$?OGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NPBGABV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0@@Z */
-/* ??$?OGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NPEBGAEBV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0@@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_wchar_greater_cstr_bstr(
-        const wchar_t *left, const basic_string_wchar *right)
-{
-    return MSVCP_basic_string_wchar_compare_cstr(right, left) < 0;
-}
-
-/* ??$?P_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at 0@Z */
-/* ??$?P_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at 0@Z */
-/* ??$?PGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NABV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at 0@Z */
-/* ??$?PGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NAEBV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at 0@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_wchar_geq(
-        const basic_string_wchar *left, const basic_string_wchar *right)
-{
-        return MSVCP_basic_string_wchar_compare(left, right) >= 0;
-}
-
-/* ??$?P_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at PB_W@Z */
-/* ??$?P_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at PEB_W@Z */
-/* ??$?PGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NABV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at PBG@Z */
-/* ??$?PGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NAEBV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at PEBG@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_wchar_geq_bstr_cstr(
-        const basic_string_wchar *left, const wchar_t *right)
-{
-        return MSVCP_basic_string_wchar_compare_cstr(left, right) >= 0;
-}
-
-/* ??$?P_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NPB_WABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0@@Z */
-/* ??$?P_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NPEB_WAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0@@Z */
-/* ??$?PGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NPBGABV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0@@Z */
-/* ??$?PGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NPEBGAEBV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0@@Z */
-MSVCP_bool __cdecl MSVCP_basic_string_wchar_geq_cstr_bstr(
-        const wchar_t *left, const basic_string_wchar *right)
-{
-        return MSVCP_basic_string_wchar_compare_cstr(right, left) <= 0;
-}
-
 /* ?find@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QBEIPB_WII at Z */
 /* ?find@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEBA_KPEB_W_K1 at Z */
 /* ?find@?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@std@@QBEIPBGII at Z */
@@ -3950,13 +3195,6 @@ basic_string_wchar* __thiscall basic_string_wchar_replace_cstr_len(basic_string_
     return this;
 }
 
-/* Not exported from msvcp90 */
-basic_string_wchar* basic_string_wchar_replace_helper(basic_string_wchar *this,
-        MSVCP_size_t off, MSVCP_size_t len, const wchar_t *str, MSVCP_size_t str_len)
-{
-    return basic_string_wchar_replace_cstr_len(this, off, len ,str, str_len);
-}
-
 /* ?replace@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAEAAV12 at IIPB_W@Z */
 /* ?replace@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAAAEAV12 at _K0PEB_W@Z */
 /* ?replace@?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@std@@QAEAAV12 at IIPBG@Z */
-- 
1.7.10.4



More information about the wine-patches mailing list