2 * Mingw Compatibility functions
5 * Licensed under the Open Software License version 1.1
20 void *blob_alloc(unsigned long size
)
29 void blob_free(void *addr
, unsigned long size
)
34 long double string_to_ld(const char *nptr
, char **endptr
)
36 return strtod(nptr
, endptr
);
39 int identical_files(struct stream
* s
, struct stat
*st
, const char * name
)
41 HANDLE file1
=CreateFile(s
->name
,GENERIC_READ
,FILE_SHARE_READ
,NULL
,OPEN_EXISTING
,FILE_ATTRIBUTE_NORMAL
,NULL
);
42 if(file1
==INVALID_HANDLE_VALUE
)
44 HANDLE file2
=CreateFile(name
,GENERIC_READ
,FILE_SHARE_READ
,NULL
,OPEN_EXISTING
,FILE_ATTRIBUTE_NORMAL
,NULL
);
45 if(file2
==INVALID_HANDLE_VALUE
) {
49 BY_HANDLE_FILE_INFORMATION info1
;
50 BY_HANDLE_FILE_INFORMATION info2
;
52 if(GetFileInformationByHandle(file1
,&info1
) && GetFileInformationByHandle(file2
,&info2
)){
53 if(info1
.nFileIndexLow
==info2
.nFileIndexLow
&&
54 info1
.nFileIndexHigh
==info2
.nFileIndexHigh
&&
55 info1
.dwVolumeSerialNumber
==info2
.dwVolumeSerialNumber
)