/* map lstat calls to _stat, until an AFS-aware lstat wrapper
* can be written */
-#define lstat(a, b) _stat((a), (b))
+
+#if (_MSC_VER < 1400)
+#define lstat(a, b) _stat((a), (struct _stat *)(b))
+#else
+#ifdef _USE_32BIT_TIME_T
+#define lstat(a, b) _stat((a), (struct _stat32 *)(b))
+#else
+#define lstat(a, b) _stat((a), (struct _stat64i32 *)(b))
+#endif
+#endif
#if 0
#define memset(A, 0, S) memset((void*)(A), 0, (size_t)(S))
/* these macros define Unix-style functions missing in VC++5.0/NT4.0 */
#define MAXPATHLEN _MAX_PATH
+/* map lstat calls to _stat, until an AFS-aware lstat wrapper
+ * can be written */
+#define lstat(a, b) _stat((a), (struct _stat *)(b))
+
#if 0
#define memset(A, 0, S) memset((void*)(A), 0, (size_t)(S))
#define memcpy(B, A, S) memcpy((void*)(B), (void*)(A), (size_t)(S))
/* map lstat calls to _stat, until an AFS-aware lstat wrapper
* can be written */
-#define lstat(a, b) _stat((a), (b))
+#if (_MSC_VER < 1400)
+#define lstat(a, b) _stat((a), (struct _stat *)(b))
+#else
+#ifdef _USE_32BIT_TIME_T
+#define lstat(a, b) _stat((a), (struct _stat32 *)(b))
+#else
+#define lstat(a, b) _stat((a), (struct _stat64i32 *)(b))
+#endif
+#endif
#if 0
#define memset(A, 0, S) memset((void*)(A), 0, (size_t)(S))
/* map lstat calls to _stat, until an AFS-aware lstat wrapper
* can be written */
-#define lstat(a, b) _stat((a), (b))
+#if (_MSC_VER < 1400)
+#define lstat(a, b) _stat((a), (struct _stat *)(b))
+#else
+#ifdef _USE_32BIT_TIME_T
+#define lstat(a, b) _stat((a), (struct _stat32 *)(b))
+#else
+#define lstat(a, b) _stat((a), (struct _stat64i32 *)(b))
+#endif
+#endif
#if 0
#define memset(A, 0, S) memset((void*)(A), 0, (size_t)(S))