Piotr Caban : msvcp90: Add time_get<char>::do_get_time implementation.
Module: wine Branch: master Commit: 58123a2b6ec11ffa574904290f21103d7dda2b0e URL: https://source.winehq.org/git/wine.git/?a=commit;h=58123a2b6ec11ffa574904290... Author: Piotr Caban <piotr(a)codeweavers.com> Date: Wed Aug 15 12:49:01 2018 +0200 msvcp90: Add time_get<char>::do_get_time implementation. Signed-off-by: Piotr Caban <piotr(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/msvcp90/locale.c | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/dlls/msvcp90/locale.c b/dlls/msvcp90/locale.c index c100c9a..656aa65 100644 --- a/dlls/msvcp90/locale.c +++ b/dlls/msvcp90/locale.c @@ -10136,8 +10136,28 @@ istreambuf_iterator_char* __thiscall time_get_char_do_get_time(const time_get_ch istreambuf_iterator_char *ret, istreambuf_iterator_char s, istreambuf_iterator_char e, ios_base *base, int *err, struct tm *t) { - FIXME("(%p %p %p %p %p) stub\n", this, ret, base, err, t); - return NULL; + TRACE("(%p %p %p %p %p)\n", this, ret, base, err, t); + + *err |= time_get_char__Getint(this, &s, &e, 0, 23, &t->tm_hour); + if (*err || istreambuf_iterator_char_val(&s)!=':') + *err |= IOSTATE_failbit; + + if (!*err) + { + istreambuf_iterator_char_inc(&s); + *err |= time_get_char__Getint(this, &s, &e, 0, 59, &t->tm_min); + } + if (*err || istreambuf_iterator_char_val(&s)!=':') + *err |= IOSTATE_failbit; + + if (!*err) + { + istreambuf_iterator_char_inc(&s); + *err |= time_get_char__Getint(this, &s, &e, 0, 59, &t->tm_sec); + } + + *ret = s; + return ret; } /* ?get_time@?$time_get(a)DV?$istreambuf_iterator(a)DU?$char_traits(a)D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator(a)DU?$char_traits(a)D@std@@@2(a)V32@0AAVios_base(a)2@AAHPAUtm@@@Z */
participants (1)
-
Alexandre Julliard