t_write.ft_time = fad.ftLastWriteTime;
+#if defined(__GNUG__) && __GNUG__ <= 4
+ result = (t_write.ll_time - w32_epoch_offset) * 100;
+#else
/* Next code similar to (t_write.ll_time - w32_epoch_offset) * 100
but on overflow returns LLONG_MIN value. */
if (__builtin_smulll_overflow(result, 100, &result)) {
return LLONG_MIN;
}
+#endif
#else
return LLONG_MIN;
}
+#if defined(__GNUG__) && __GNUG__ <= 4
+ result = (sb.st_mtime - ada_epoch_offset) * 1E9;
+#if defined(st_mtime)
+ result += sb.st_mtim.tv_nsec;
+#endif
+#else
/* Next code similar to
(sb.st_mtime - ada_epoch_offset) * 1E9 + sb.st_mtim.tv_nsec
but on overflow returns LLONG_MIN value. */
return LLONG_MIN;
}
#endif
-
+#endif
#endif
return result;
}