diff options
author | Eugene Syromyatnikov <evgsyr@gmail.com> | 2021-10-07 23:07:51 +0200 |
---|---|---|
committer | Eugene Syromyatnikov <evgsyr@gmail.com> | 2021-10-09 19:24:40 +0200 |
commit | 097c320e2c88a490ac3513bf8e5c152080a07f35 (patch) | |
tree | 6d711e0388bdae357b6832d916092aec6785fbdd | |
parent | 03c5fb5c040d9a6f89f68abb4d0e3a9befab5b94 (diff) | |
download | strace-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.h | 26 |
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. */ |