diff --git a/pdf.c b/pdf.c
index 5711efbc6785c02ae9a9fde12e0d0526c966e3a0..64d0b5a53b906932aea0a74adf1e522386e8dab2 100644
--- a/pdf.c
+++ b/pdf.c
@@ -26,7 +26,7 @@
 HParsedToken *
 act_mapch(const HParseResult *p, void *u)
 {
-	return H_MAKE_UINT((uint8_t)u);
+	return H_MAKE_UINT((uint8_t)(uintptr_t)u);
 }
 
 HParser *