From: Junio C Hamano Date: Mon, 28 Sep 2026 15:59:11 GMT Subject: Re: [PATCH v2 0/7] setup: enforce repo passed to `create_repository()` has no state Message-ID: In-Reply-To: Patrick Steinhardt writes: >> Oops. I meant s/free(3p)/free(3)/ > > Ah. 3p is correct though and refers to the POSIX man pages. If used in a context where you really care about posix specified behaviour and are interferred by differences among generic C library's free() implementations, free(3p) may be the right way to spell it out concisely. Everywhere else, like in this patch where you do not care about the distinction, the extra 'p' is merely a noise, I would have to say. If you are writing a wrapper that _depends_ on your platform free() being strictly posix compliant, then you might write something like #ifdef WE_HAVE_POSIX_FREE #define safe_free(x) free(x) #else static void safe_free(void *x) { ... } #endif and your commit log message may say "We use free(3p) where available, but otherwise emulate it via platform free() with some safety knob".