diff --git a/krl.c b/krl.c
index c8505c8..c431f70 100644
--- a/krl.c
+++ b/krl.c
@@ -14,7 +14,7 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $OpenBSD: krl.c,v 1.49 2020/04/03 04:43:24 djm Exp $ */
+/* $OpenBSD: krl.c,v 1.50 2020/04/03 05:48:57 djm Exp $ */
 
 #include "includes.h"
 
@@ -1370,7 +1370,8 @@
 
 	/* Try to print in a KRL spec-compatible format */
 	format_timestamp(krl->generated_date, timestamp, sizeof(timestamp));
-	fprintf(f, "# KRL version %llu\n", krl->krl_version);
+	fprintf(f, "# KRL version %llu\n",
+	    (unsigned long long)krl->krl_version);
 	fprintf(f, "# Generated at %s\n", timestamp);
 	if (krl->comment != NULL && *krl->comment != '\0') {
 		r = INT_MAX;
@@ -1427,11 +1428,13 @@
 			free(fp);
 		}
 		RB_FOREACH(rs, revoked_serial_tree, &rc->revoked_serials) {
-			if (rs->lo == rs->hi)
-				fprintf(f, "serial: %llu\n", rs->lo);
-			else {
+			if (rs->lo == rs->hi) {
+				fprintf(f, "serial: %llu\n",
+				    (unsigned long long)rs->lo);
+			} else {
 				fprintf(f, "serial: %llu-%llu\n",
-				    rs->lo, rs->hi);
+				    (unsigned long long)rs->lo,
+				    (unsigned long long)rs->hi);
 			}
 		}
 		RB_FOREACH(rki, revoked_key_id_tree, &rc->revoked_key_ids) {
