From af92d5cae8751450221fb93766a2d992400a84d6 Mon Sep 17 00:00:00 2001 From: Jonas 'Sortie' Termansen Date: Tue, 4 Apr 2023 19:49:38 +0200 Subject: [PATCH] Fix strftime(3) %I off by one. --- libc/time/strftime.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libc/time/strftime.c b/libc/time/strftime.c index 2b2f88d1..58125939 100644 --- a/libc/time/strftime.c +++ b/libc/time/strftime.c @@ -268,7 +268,7 @@ size_t STRFTIME(STRFTIME_CHAR* s, continue; case STRFTIME_L('h'): OUTPUT_STRING(GetMonthAbbreviated(tm)); break; case STRFTIME_L('H'): OUTPUT_INT_PADDED(tm->tm_hour, 2, STRFTIME_L('0')); break; /*O*/ - case STRFTIME_L('I'): OUTPUT_INT_PADDED(tm->tm_hour % 12 + 1, 2, STRFTIME_L('0')); break; /*O*/ + case STRFTIME_L('I'): OUTPUT_INT_PADDED((tm->tm_hour + 11) % 12 + 1, 2, STRFTIME_L('0')); break; /*O*/ case STRFTIME_L('j'): OUTPUT_INT_PADDED(tm->tm_yday + 1, 3, STRFTIME_L('0')); break; case STRFTIME_L('m'): OUTPUT_INT_PADDED(tm->tm_mon + 1, 2, STRFTIME_L('0')); break; /*O*/ case STRFTIME_L('M'): OUTPUT_INT_PADDED(tm->tm_min, 2, STRFTIME_L('0')); break; /*O*/