|  | /** | 
|  | * This file has no copyright assigned and is placed in the Public Domain. | 
|  | * This file is part of the mingw-w64 runtime package. | 
|  | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | 
|  | */ | 
|  |  | 
|  | #include <sys/stat.h> | 
|  | #include "crtdll_stat.h" | 
|  |  | 
|  | /* Define _stat32() function via crtdll.dll _stat() function */ | 
|  | _CRTIMP int __cdecl __crtdll_stat(const char *name, struct __crtdll_stat *crtdll_stat); | 
|  | int __cdecl _stat32(const char *name, struct _stat32 *stat) | 
|  | { | 
|  | struct __crtdll_stat crtdll_stat; | 
|  | int ret = __crtdll_stat(name, &crtdll_stat); | 
|  | if (ret == 0) | 
|  | copy_stat_members(stat, &crtdll_stat); | 
|  | return ret; | 
|  | } | 
|  | int (__cdecl *__MINGW_IMP_SYMBOL(_stat32))(const char *name, struct _stat32 *stat) = _stat32; | 
|  |  | 
|  | #undef _stat | 
|  | int __attribute__ ((alias ("_stat32"))) __cdecl _stat(const char *name, struct _stat32 *stat); | 
|  | extern int __attribute__ ((alias (__MINGW64_STRINGIFY(__MINGW_IMP_SYMBOL(_stat32))))) (__cdecl *__MINGW_IMP_SYMBOL(_stat))(const char *name, struct _stat32 *stat); | 
|  |  | 
|  | /* | 
|  | * Function stat() (without leading underline) is provided by mingw-w64 | 
|  | * emulation due to trailing stash issue, so alias is not defined here. | 
|  | * Emulation calls _stat32() function, which resolve to the correct one. | 
|  | */ |