> sprintf and vsprintf were deprecated in macOS Sierra 10.12.

First, we need to get the facts right. Paul indicated in
<https://lists.gnu.org/archive/html/bug-gnulib/2023-03/msg00006.html>
that the problem occurs starting with macOS 13.

You can download the macOS header files of various macOS versions from
https://opensource.apple.com/releases/
They are in the Libc package.

What I find is that in macOS 13.0, sprintf and vsprintf are deprecated.
But in macOS 12.5, they are not.

Paul Eggert wrote:
> With this in mind, perhaps we should dispense with the "# define 
> _POSIX_C_SOURCE 200809L" business? It is a blunderbuss to deal with a 
> gnat - admittedly an annoying gnat on some macOS platforms, but perhaps 
> it's no longer worth worrying about pacifying these older platforms.

The problem is not with the older platforms; it's with the newer ones —
including the newest one, 14.0.

> Alternatively, perhaps we should do something like the following? That 
> is, don't bother with pacification if sprintf and vsprintf are macros

This approach won't work, because sprintf and vsprintf are defined as
macros only in the system's <stdio.h>. But we need to decide whether to
define _POSIX_C_SOURCE *before* including the system's <stdio.h>.

Bruno




Reply via email to