msvcrt: Export the __acrt_iob_func function from the import library.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Alexandre Julliard 2019-03-26 20:22:43 +01:00
parent 0673ddf3a5
commit ca50117418
20 changed files with 65 additions and 29 deletions

View File

@ -20,6 +20,7 @@ C_SRCS = \
exit.c \ exit.c \
file.c \ file.c \
heap.c \ heap.c \
iob.c \
locale.c \ locale.c \
lock.c \ lock.c \
main.c \ main.c \

View File

@ -594,7 +594,7 @@
@ stub __get_tlsindex @ stub __get_tlsindex
@ cdecl __getmainargs(ptr ptr ptr long ptr) @ cdecl __getmainargs(ptr ptr ptr long ptr)
@ extern __initenv MSVCRT___initenv @ extern __initenv MSVCRT___initenv
@ cdecl __iob_func() MSVCRT___iob_func @ cdecl __iob_func() __p__iob
@ cdecl __isascii(long) MSVCRT___isascii @ cdecl __isascii(long) MSVCRT___isascii
@ cdecl __iscsym(long) MSVCRT___iscsym @ cdecl __iscsym(long) MSVCRT___iscsym
@ cdecl __iscsymf(long) MSVCRT___iscsymf @ cdecl __iscsymf(long) MSVCRT___iscsymf
@ -636,7 +636,7 @@
@ cdecl __p__dstbias() MSVCRT___p__dstbias @ cdecl __p__dstbias() MSVCRT___p__dstbias
@ cdecl __p__environ() MSVCRT___p__environ @ cdecl __p__environ() MSVCRT___p__environ
@ cdecl __p__fmode() MSVCRT___p__fmode @ cdecl __p__fmode() MSVCRT___p__fmode
@ cdecl __p__iob() MSVCRT___iob_func @ cdecl __p__iob()
@ stub __p__mbcasemap() @ stub __p__mbcasemap()
@ cdecl __p__mbctype() @ cdecl __p__mbctype()
@ cdecl __p__pctype() MSVCRT___p__pctype @ cdecl __p__pctype() MSVCRT___p__pctype

View File

@ -20,6 +20,7 @@ C_SRCS = \
exit.c \ exit.c \
file.c \ file.c \
heap.c \ heap.c \
iob.c \
locale.c \ locale.c \
lock.c \ lock.c \
main.c \ main.c \

View File

@ -942,7 +942,7 @@
@ stub __get_tlsindex @ stub __get_tlsindex
@ cdecl __getmainargs(ptr ptr ptr long ptr) @ cdecl __getmainargs(ptr ptr ptr long ptr)
@ extern __initenv MSVCRT___initenv @ extern __initenv MSVCRT___initenv
@ cdecl __iob_func() MSVCRT___iob_func @ cdecl __iob_func() __p__iob
@ cdecl __isascii(long) MSVCRT___isascii @ cdecl __isascii(long) MSVCRT___isascii
@ cdecl __iscsym(long) MSVCRT___iscsym @ cdecl __iscsym(long) MSVCRT___iscsym
@ cdecl __iscsymf(long) MSVCRT___iscsymf @ cdecl __iscsymf(long) MSVCRT___iscsymf
@ -985,7 +985,7 @@
@ cdecl __p__dstbias() MSVCRT___p__dstbias @ cdecl __p__dstbias() MSVCRT___p__dstbias
@ cdecl __p__environ() MSVCRT___p__environ @ cdecl __p__environ() MSVCRT___p__environ
@ cdecl __p__fmode() MSVCRT___p__fmode @ cdecl __p__fmode() MSVCRT___p__fmode
@ cdecl __p__iob() MSVCRT___iob_func @ cdecl __p__iob()
@ stub __p__mbcasemap() @ stub __p__mbcasemap()
@ cdecl __p__mbctype() @ cdecl __p__mbctype()
@ cdecl __p__pctype() MSVCRT___p__pctype @ cdecl __p__pctype() MSVCRT___p__pctype

View File

@ -20,6 +20,7 @@ C_SRCS = \
exit.c \ exit.c \
file.c \ file.c \
heap.c \ heap.c \
iob.c \
locale.c \ locale.c \
lock.c \ lock.c \
main.c \ main.c \

View File

@ -932,7 +932,7 @@
@ stub __get_tlsindex @ stub __get_tlsindex
@ cdecl __getmainargs(ptr ptr ptr long ptr) @ cdecl __getmainargs(ptr ptr ptr long ptr)
@ extern __initenv MSVCRT___initenv @ extern __initenv MSVCRT___initenv
@ cdecl __iob_func() MSVCRT___iob_func @ cdecl __iob_func() __p__iob
@ cdecl __isascii(long) MSVCRT___isascii @ cdecl __isascii(long) MSVCRT___isascii
@ cdecl __iscsym(long) MSVCRT___iscsym @ cdecl __iscsym(long) MSVCRT___iscsym
@ cdecl __iscsymf(long) MSVCRT___iscsymf @ cdecl __iscsymf(long) MSVCRT___iscsymf
@ -975,7 +975,7 @@
@ cdecl __p__dstbias() MSVCRT___p__dstbias @ cdecl __p__dstbias() MSVCRT___p__dstbias
@ cdecl __p__environ() MSVCRT___p__environ @ cdecl __p__environ() MSVCRT___p__environ
@ cdecl __p__fmode() MSVCRT___p__fmode @ cdecl __p__fmode() MSVCRT___p__fmode
@ cdecl __p__iob() MSVCRT___iob_func @ cdecl __p__iob()
@ stub __p__mbcasemap() @ stub __p__mbcasemap()
@ cdecl __p__mbctype() @ cdecl __p__mbctype()
@ cdecl __p__pctype() MSVCRT___p__pctype @ cdecl __p__pctype() MSVCRT___p__pctype

View File

@ -20,6 +20,7 @@ C_SRCS = \
exit.c \ exit.c \
file.c \ file.c \
heap.c \ heap.c \
iob.c \
locale.c \ locale.c \
lock.c \ lock.c \
main.c \ main.c \

View File

@ -151,7 +151,7 @@
@ cdecl __fpecode() @ cdecl __fpecode()
@ cdecl __getmainargs(ptr ptr ptr long ptr) @ cdecl __getmainargs(ptr ptr ptr long ptr)
@ extern __initenv MSVCRT___initenv @ extern __initenv MSVCRT___initenv
@ cdecl __iob_func() MSVCRT___iob_func @ cdecl __iob_func() __p__iob
@ cdecl __isascii(long) MSVCRT___isascii @ cdecl __isascii(long) MSVCRT___isascii
@ cdecl __iscsym(long) MSVCRT___iscsym @ cdecl __iscsym(long) MSVCRT___iscsym
@ cdecl __iscsymf(long) MSVCRT___iscsymf @ cdecl __iscsymf(long) MSVCRT___iscsymf
@ -175,7 +175,7 @@
@ cdecl __p__environ() MSVCRT___p__environ @ cdecl __p__environ() MSVCRT___p__environ
@ stub __p__fileinfo() @ stub __p__fileinfo()
@ cdecl __p__fmode() MSVCRT___p__fmode @ cdecl __p__fmode() MSVCRT___p__fmode
@ cdecl __p__iob() MSVCRT___iob_func @ cdecl __p__iob()
@ stub __p__mbcasemap() @ stub __p__mbcasemap()
@ cdecl __p__mbctype() @ cdecl __p__mbctype()
@ cdecl __p__osver() @ cdecl __p__osver()

View File

@ -20,6 +20,7 @@ C_SRCS = \
exit.c \ exit.c \
file.c \ file.c \
heap.c \ heap.c \
iob.c \
locale.c \ locale.c \
lock.c \ lock.c \
main.c \ main.c \

View File

@ -146,7 +146,7 @@
@ cdecl __fpecode() @ cdecl __fpecode()
@ cdecl __getmainargs(ptr ptr ptr long ptr) @ cdecl __getmainargs(ptr ptr ptr long ptr)
@ extern __initenv MSVCRT___initenv @ extern __initenv MSVCRT___initenv
@ cdecl __iob_func() MSVCRT___iob_func @ cdecl __iob_func() __p__iob
@ cdecl __isascii(long) MSVCRT___isascii @ cdecl __isascii(long) MSVCRT___isascii
@ cdecl __iscsym(long) MSVCRT___iscsym @ cdecl __iscsym(long) MSVCRT___iscsym
@ cdecl __iscsymf(long) MSVCRT___iscsymf @ cdecl __iscsymf(long) MSVCRT___iscsymf
@ -170,7 +170,7 @@
@ cdecl __p__environ() MSVCRT___p__environ @ cdecl __p__environ() MSVCRT___p__environ
@ stub __p__fileinfo() @ stub __p__fileinfo()
@ cdecl __p__fmode() MSVCRT___p__fmode @ cdecl __p__fmode() MSVCRT___p__fmode
@ cdecl __p__iob() MSVCRT___iob_func @ cdecl __p__iob()
@ stub __p__mbcasemap() @ stub __p__mbcasemap()
@ cdecl __p__mbctype() @ cdecl __p__mbctype()
@ cdecl __p__osver() @ cdecl __p__osver()

View File

@ -20,6 +20,7 @@ C_SRCS = \
exit.c \ exit.c \
file.c \ file.c \
heap.c \ heap.c \
iob.c \
locale.c \ locale.c \
lock.c \ lock.c \
main.c \ main.c \

View File

@ -233,7 +233,7 @@
@ stub __get_tlsindex @ stub __get_tlsindex
@ cdecl __getmainargs(ptr ptr ptr long ptr) @ cdecl __getmainargs(ptr ptr ptr long ptr)
@ extern __initenv MSVCRT___initenv @ extern __initenv MSVCRT___initenv
@ cdecl __iob_func() MSVCRT___iob_func @ cdecl __iob_func() __p__iob
@ cdecl __isascii(long) MSVCRT___isascii @ cdecl __isascii(long) MSVCRT___isascii
@ cdecl __iscsym(long) MSVCRT___iscsym @ cdecl __iscsym(long) MSVCRT___iscsym
@ cdecl __iscsymf(long) MSVCRT___iscsymf @ cdecl __iscsymf(long) MSVCRT___iscsymf
@ -280,7 +280,7 @@
@ cdecl __p__dstbias() MSVCRT___p__dstbias @ cdecl __p__dstbias() MSVCRT___p__dstbias
@ cdecl __p__environ() MSVCRT___p__environ @ cdecl __p__environ() MSVCRT___p__environ
@ cdecl __p__fmode() MSVCRT___p__fmode @ cdecl __p__fmode() MSVCRT___p__fmode
@ cdecl __p__iob() MSVCRT___iob_func @ cdecl __p__iob()
@ stub __p__mbcasemap() @ stub __p__mbcasemap()
@ cdecl __p__mbctype() @ cdecl __p__mbctype()
@ stub __p__osplatform @ stub __p__osplatform

View File

@ -20,6 +20,7 @@ C_SRCS = \
exit.c \ exit.c \
file.c \ file.c \
heap.c \ heap.c \
iob.c \
locale.c \ locale.c \
lock.c \ lock.c \
main.c \ main.c \

View File

@ -222,7 +222,7 @@
@ stub __get_tlsindex @ stub __get_tlsindex
@ cdecl __getmainargs(ptr ptr ptr long ptr) @ cdecl __getmainargs(ptr ptr ptr long ptr)
@ extern __initenv MSVCRT___initenv @ extern __initenv MSVCRT___initenv
@ cdecl __iob_func() MSVCRT___iob_func @ cdecl __iob_func() __p__iob
@ cdecl __isascii(long) MSVCRT___isascii @ cdecl __isascii(long) MSVCRT___isascii
@ cdecl __iscsym(long) MSVCRT___iscsym @ cdecl __iscsym(long) MSVCRT___iscsym
@ cdecl __iscsymf(long) MSVCRT___iscsymf @ cdecl __iscsymf(long) MSVCRT___iscsymf
@ -269,7 +269,7 @@
@ cdecl __p__dstbias() MSVCRT___p__dstbias @ cdecl __p__dstbias() MSVCRT___p__dstbias
@ cdecl __p__environ() MSVCRT___p__environ @ cdecl __p__environ() MSVCRT___p__environ
@ cdecl __p__fmode() MSVCRT___p__fmode @ cdecl __p__fmode() MSVCRT___p__fmode
@ cdecl __p__iob() MSVCRT___iob_func @ cdecl __p__iob()
@ stub __p__mbcasemap() @ stub __p__mbcasemap()
@ cdecl __p__mbctype() @ cdecl __p__mbctype()
@ cdecl __p__pctype() MSVCRT___p__pctype @ cdecl __p__pctype() MSVCRT___p__pctype

View File

@ -19,6 +19,7 @@ C_SRCS = \
exit.c \ exit.c \
file.c \ file.c \
heap.c \ heap.c \
iob.c \
locale.c \ locale.c \
lock.c \ lock.c \
main.c \ main.c \

View File

@ -779,21 +779,13 @@ static int msvcrt_int_to_base32_w(int num, MSVCRT_wchar_t *str)
} }
/********************************************************************* /*********************************************************************
* __iob_func(MSVCRT.@) * __p__iob (MSVCRT.@)
*/ */
MSVCRT_FILE * CDECL MSVCRT___iob_func(void) MSVCRT_FILE * CDECL __p__iob(void)
{ {
return &MSVCRT__iob[0]; return &MSVCRT__iob[0];
} }
/*********************************************************************
* __acrt_iob_func(UCRTBASE.@)
*/
MSVCRT_FILE * CDECL MSVCRT___acrt_iob_func(unsigned idx)
{
return &MSVCRT__iob[idx];
}
/********************************************************************* /*********************************************************************
* _access (MSVCRT.@) * _access (MSVCRT.@)
*/ */

36
dlls/msvcrt/iob.c Normal file
View File

@ -0,0 +1,36 @@
/*
* acrt function needed for compatibility with mingw
*
* Copyright 2019 Alexandre Julliard
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
/* this function is part of the import lib for compatibility with the Mingw runtime */
#if 0
#pragma makedep implib
#endif
#include "msvcrt.h"
extern MSVCRT_FILE * CDECL __p__iob(void);
/*********************************************************************
* __acrt_iob_func(UCRTBASE.@)
*/
MSVCRT_FILE * CDECL __acrt_iob_func(unsigned idx)
{
return __p__iob() + idx;
}

View File

@ -197,7 +197,6 @@
@ cdecl ___mb_cur_max_func() MSVCRT____mb_cur_max_func @ cdecl ___mb_cur_max_func() MSVCRT____mb_cur_max_func
@ cdecl ___setlc_active_func() MSVCRT____setlc_active_func @ cdecl ___setlc_active_func() MSVCRT____setlc_active_func
@ cdecl ___unguarded_readlc_active_add_func() MSVCRT____unguarded_readlc_active_add_func @ cdecl ___unguarded_readlc_active_add_func() MSVCRT____unguarded_readlc_active_add_func
@ cdecl __acrt_iob_func(long) MSVCRT___acrt_iob_func # for compatibility with Mingw
@ extern __argc MSVCRT___argc @ extern __argc MSVCRT___argc
@ extern __argv MSVCRT___argv @ extern __argv MSVCRT___argv
@ extern __badioinfo MSVCRT___badioinfo @ extern __badioinfo MSVCRT___badioinfo
@ -215,7 +214,7 @@
@ stub __get_app_type @ stub __get_app_type
@ cdecl __getmainargs(ptr ptr ptr long ptr) @ cdecl __getmainargs(ptr ptr ptr long ptr)
@ extern __initenv MSVCRT___initenv @ extern __initenv MSVCRT___initenv
@ cdecl __iob_func() MSVCRT___iob_func @ cdecl __iob_func() __p__iob
@ cdecl __isascii(long) MSVCRT___isascii @ cdecl __isascii(long) MSVCRT___isascii
@ cdecl __iscsym(long) MSVCRT___iscsym @ cdecl __iscsym(long) MSVCRT___iscsym
@ cdecl __iscsymf(long) MSVCRT___iscsymf @ cdecl __iscsymf(long) MSVCRT___iscsymf
@ -260,7 +259,7 @@
@ cdecl __p__environ() MSVCRT___p__environ @ cdecl __p__environ() MSVCRT___p__environ
@ stub __p__fileinfo() @ stub __p__fileinfo()
@ cdecl __p__fmode() MSVCRT___p__fmode @ cdecl __p__fmode() MSVCRT___p__fmode
@ cdecl __p__iob() MSVCRT___iob_func @ cdecl __p__iob()
@ stub __p__mbcasemap() @ stub __p__mbcasemap()
@ cdecl __p__mbctype() @ cdecl __p__mbctype()
@ cdecl __p__osver() @ cdecl __p__osver()

View File

@ -20,6 +20,7 @@ C_SRCS = \
exit.c \ exit.c \
file.c \ file.c \
heap.c \ heap.c \
iob.c \
locale.c \ locale.c \
lock.c \ lock.c \
main.c \ main.c \

View File

@ -72,7 +72,7 @@
@ cdecl ___lc_locale_name_func() @ cdecl ___lc_locale_name_func()
@ cdecl ___mb_cur_max_func() MSVCRT____mb_cur_max_func @ cdecl ___mb_cur_max_func() MSVCRT____mb_cur_max_func
@ cdecl ___mb_cur_max_l_func(ptr) @ cdecl ___mb_cur_max_l_func(ptr)
@ cdecl __acrt_iob_func(long) MSVCRT___acrt_iob_func @ cdecl __acrt_iob_func(long)
@ cdecl __conio_common_vcprintf(int64 str ptr ptr) MSVCRT__conio_common_vcprintf @ cdecl __conio_common_vcprintf(int64 str ptr ptr) MSVCRT__conio_common_vcprintf
@ stub __conio_common_vcprintf_p @ stub __conio_common_vcprintf_p
@ stub __conio_common_vcprintf_s @ stub __conio_common_vcprintf_s
@ -758,7 +758,7 @@
@ stub _o____lc_collate_cp_func @ stub _o____lc_collate_cp_func
@ stub _o____lc_locale_name_func @ stub _o____lc_locale_name_func
@ stub _o____mb_cur_max_func @ stub _o____mb_cur_max_func
@ cdecl _o___acrt_iob_func(long) MSVCRT___acrt_iob_func @ cdecl _o___acrt_iob_func(long) __acrt_iob_func
@ stub _o___conio_common_vcprintf @ stub _o___conio_common_vcprintf
@ stub _o___conio_common_vcprintf_p @ stub _o___conio_common_vcprintf_p
@ stub _o___conio_common_vcprintf_s @ stub _o___conio_common_vcprintf_s