summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Syromyatnikov <evgsyr@gmail.com>2021-10-07 23:07:51 +0200
committerEugene Syromyatnikov <evgsyr@gmail.com>2021-10-09 19:24:40 +0200
commit097c320e2c88a490ac3513bf8e5c152080a07f35 (patch)
tree6d711e0388bdae357b6832d916092aec6785fbdd
parent03c5fb5c040d9a6f89f68abb4d0e3a9befab5b94 (diff)
downloadstrace-097c320e2c88a490ac3513bf8e5c152080a07f35.tar.gz
defs: add truncate_k{,u}long_to_current_klongsize
* src/defs.h (truncate_klong_to_current_klongsize, truncate_kulong_to_current_klongsize): New functions.
-rw-r--r--src/defs.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/defs.h b/src/defs.h
index b5f324e11..c9fe79dc6 100644
--- a/src/defs.h
+++ b/src/defs.h
@@ -1758,6 +1758,32 @@ truncate_kulong_to_current_wordsize(const kernel_ulong_t v)
}
}
+static inline kernel_long_t
+truncate_klong_to_current_klongsize(const kernel_long_t v)
+{
+# if ANY_WORDSIZE_LESS_THAN_KERNEL_LONG
+ if (current_klongsize < sizeof(v)) {
+ return (int) v;
+ } else
+# endif
+ {
+ return v;
+ }
+}
+
+static inline kernel_ulong_t
+truncate_kulong_to_current_klongsize(const kernel_ulong_t v)
+{
+# if ANY_WORDSIZE_LESS_THAN_KERNEL_LONG
+ if (current_klongsize < sizeof(v)) {
+ return (unsigned int) v;
+ } else
+# endif
+ {
+ return v;
+ }
+}
+
/*
* Cast a pointer or a pointer-sized integer to kernel_ulong_t.
*/