aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/el-decode-number.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/el-decode-number.c b/src/el-decode-number.c
index 7fd4c9a..f57d728 100644
--- a/src/el-decode-number.c
+++ b/src/el-decode-number.c
@@ -62,7 +62,11 @@ size_t el_decode_number
* - set current number into right position of out
*/
- *out |= (n[i] & 0x7f) << (i * 7);
+#ifdef LLONG_MAX
+ *out |= (unsigned long long)(n[i] & 0x7f) << (i * 7);
+#else
+ *out |= (unsigned long)(n[i] & 0x7f) << (i * 7);
+#endif
/* we do this until number lacks of continuation bit, which means
* we are done