summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/lua_api.txt1
-rw-r--r--src/porting.h6
2 files changed, 3 insertions, 4 deletions
diff --git a/doc/lua_api.txt b/doc/lua_api.txt
index d3165b9fd..c09578a15 100644
--- a/doc/lua_api.txt
+++ b/doc/lua_api.txt
@@ -3268,7 +3268,6 @@ Helper functions
* returns true when the passed number represents NaN.
* `minetest.get_us_time()`
* returns time with microsecond precision. May not return wall time.
- * This value might overflow on certain 32-bit systems!
* `table.copy(table)`: returns a table
* returns a deep copy of `table`
* `table.indexof(list, val)`: returns the smallest numerical index containing
diff --git a/src/porting.h b/src/porting.h
index e4ebe36fd..93932e1d9 100644
--- a/src/porting.h
+++ b/src/porting.h
@@ -234,21 +234,21 @@ inline u64 getTimeMs()
{
struct timespec ts;
os_get_clock(&ts);
- return ts.tv_sec * 1000 + ts.tv_nsec / 1000000;
+ return ((u64) ts.tv_sec) * 1000LL + ((u64) ts.tv_nsec) / 1000000LL;
}
inline u64 getTimeUs()
{
struct timespec ts;
os_get_clock(&ts);
- return ts.tv_sec * 1000000 + ts.tv_nsec / 1000;
+ return ((u64) ts.tv_sec) * 1000000LL + ((u64) ts.tv_nsec) / 1000LL;
}
inline u64 getTimeNs()
{
struct timespec ts;
os_get_clock(&ts);
- return ts.tv_sec * 1000000000 + ts.tv_nsec;
+ return ((u64) ts.tv_sec) * 1000000000LL + ((u64) ts.tv_nsec);
}
#endif