386ac45102
Signed-off-by: Marius Storm-Olsen <mstormo@gmail.com> Acked-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
51 lines
1.1 KiB
C
51 lines
1.1 KiB
C
#ifndef __MSVC__HEAD
|
|
#define __MSVC__HEAD
|
|
|
|
#include <direct.h>
|
|
#include <process.h>
|
|
#include <malloc.h>
|
|
|
|
/* porting function */
|
|
#define inline __inline
|
|
#define __inline__ __inline
|
|
#define __attribute__(x)
|
|
#define va_copy(dst, src) ((dst) = (src))
|
|
#define strncasecmp _strnicmp
|
|
#define ftruncate _chsize
|
|
|
|
static __inline int strcasecmp (const char *s1, const char *s2)
|
|
{
|
|
int size1 = strlen(s1);
|
|
int sisz2 = strlen(s2);
|
|
return _strnicmp(s1, s2, sisz2 > size1 ? sisz2 : size1);
|
|
}
|
|
|
|
#undef ERROR
|
|
#undef stat
|
|
#undef _stati64
|
|
#include "compat/mingw.h"
|
|
#undef stat
|
|
#define stat _stati64
|
|
#define _stat64(x,y) mingw_lstat(x,y)
|
|
|
|
/*
|
|
Even though _stati64 is normally just defined at _stat64
|
|
on Windows, we specify it here as a proper struct to avoid
|
|
compiler warnings about macro redefinition due to magic in
|
|
mingw.h. Struct taken from ReactOS (GNU GPL license).
|
|
*/
|
|
struct _stati64 {
|
|
_dev_t st_dev;
|
|
_ino_t st_ino;
|
|
unsigned short st_mode;
|
|
short st_nlink;
|
|
short st_uid;
|
|
short st_gid;
|
|
_dev_t st_rdev;
|
|
__int64 st_size;
|
|
time_t st_atime;
|
|
time_t st_mtime;
|
|
time_t st_ctime;
|
|
};
|
|
#endif
|