Problem with 64-bit file functions declarations
Dustin Navea
speeddymon at yahoo.com
Fri May 31 10:48:02 CDT 2002
--- Andriy Palamarchuk <apa3a at yahoo.com> wrote:
> I'm researching an issue when started regedit.exe
> fails to export registry. This started to happen
> after
> Alexandre's patch which included "config.h" in the
> regedit source file.
>
> I found out this problem was triggered by
> declaration
>
> #define _FILE_OFFSET_BITS 64
>
> in config.h. The test case:
>
> ********************************************
> /* Set this to 64 to enable 64-bit file support on
> Linux */
> #define _FILE_OFFSET_BITS 64
>
> #include <stdio.h>
> #include <windows.h>
>
> void test_write(void)
> {
> FILE *f = fopen("1.reg", "w");
> printf("sizeof FILE: %d\n", sizeof(FILE));
> fputs("DEBUG1\n", f);
> fclose(f);
> }
>
> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE
> hPrevInstance,
> LPSTR lpCmdLine, int nCmdShow)
> {
> test_write();
> exit(0);
> }
> ********************************************
>
> Comment out the macro definition and it works, with
> macro it creates file of 0 length.
> With the defined macro many file functions are
> defined
> as functions for 64-bit access and are linked to the
> native platform calls instead of msvcrt ones.
>
> Differences in precompilation output:
>
> Without macro:
>
> # 203 "/usr/include/stdio.h" 3
> extern FILE *fopen (__const char *__restrict
> __filename,
> __const char *__restrict
> __modes)
> ;
>
> With macro:
>
> # 211 "/usr/include/stdio.h" 3
> extern FILE *fopen (__const char *__restrict
> __filename,
> __const char *__restrict
> __modes)
> __asm__ ("" "fopen64");
>
> The same happens for some other file functions.
> What is the correct fix for this problem?
>
> Andriy
>
Hate to say it, but maybe we need yet *another*
#ifdef... something like
#ifdef __IA64__
#define _FILE_OFFSET_BITS 64
#endif
yes i know that __IA64__ isnt anything but i was just
using it for example...
__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com
More information about the wine-devel
mailing list