$NetBSD: patch-by,v 1.1 2009/09/22 07:08:05 taca Exp $

--- lib/hgfs/hgfsUtil.c.orig	2008-08-08 16:01:54.000000000 +0900
+++ lib/hgfs/hgfsUtil.c
@@ -95,24 +95,19 @@ int
 HgfsConvertFromNtTimeNsec(struct timespec *unixTime, // OUT: Time in UNIX format
 			  uint64 ntTime) // IN: Time in Windows NT format
 {
-#ifndef VM_X86_64
    uint32 sec;
    uint32 nsec;
 
    ASSERT(unixTime);
-   /* We assume that time_t is 32bit */
-   ASSERT_ON_COMPILE(sizeof (unixTime->tv_sec) == 4);
 
-   /* Cap NT time values that are outside of Unix time's range */
-
-   if (ntTime >= UNIX_S32_MAX) {
-      unixTime->tv_sec = 0x7FFFFFFF;
-      unixTime->tv_nsec = 0;
-      return 1;
-   }
-#else
-   ASSERT(unixTime);
-#endif
+   if (sizeof(unixTime->tv_sec) == 4) {
+	/* Cap NT time values that are outside of Unix time's range */
+       if (ntTime >= UNIX_S32_MAX) {
+	  unixTime->tv_sec = 0x7FFFFFFF;
+	  unixTime->tv_nsec = 0;
+	  return 1;
+       }
+    }
 
    if (ntTime < UNIX_EPOCH) {
       unixTime->tv_sec = 0;
@@ -120,14 +115,14 @@ HgfsConvertFromNtTimeNsec(struct timespe
       return -1;
    }
 
-#ifndef VM_X86_64
-   Div643232(ntTime - UNIX_EPOCH, 10000000, &sec, &nsec);
-   unixTime->tv_sec = sec;
-   unixTime->tv_nsec = nsec * 100;
-#else
-   unixTime->tv_sec = (ntTime - UNIX_EPOCH) / 10000000;
-   unixTime->tv_nsec = ((ntTime - UNIX_EPOCH) % 10000000) * 100;
-#endif
+   if (sizeof(unixTime->tv_sec) == 4) {
+       Div643232(ntTime - UNIX_EPOCH, 10000000, &sec, &nsec);
+       unixTime->tv_sec = sec;
+       unixTime->tv_nsec = nsec * 100;
+   } else {
+       unixTime->tv_sec = (ntTime - UNIX_EPOCH) / 10000000;
+       unixTime->tv_nsec = ((ntTime - UNIX_EPOCH) % 10000000) * 100;
+   }
 
    return 0;
 }
