>> We have more: PIO_printf, PIO_eprintf, Parrot_printf, Parrot_eprintf
>> and Parrot_fprintf. The Parrot_ ones are a wrapper around the PIO_s,
>> with added check for extern usage, and that does not need #include io
>> files.
>
> Yes, to be more accurate, we have a whole range of PIO functions. But, the
> fact that they're used so rarely makes me doubt whether they're particularly
> reliable.

>From other perspective: if they are not used, we never be sure that
they are reliable. If we access to string internals to avoid his
usage, we are actively making strings less reliable.

And no wonder that %Ss is rarely used, a lot of people doesn't even
know that it exists. And if they never see it used in place of code
where will be the correct solution, we can hardly blame them.

By the way, as mentioned in other thread there is a problem with plain
%s in parrot printf-alike functions. It does not handle well a NULL c
string. This must be fixed. And before, given the current
implementation, the behavior of string_make and his successor in the
strings pdd, when receiving a NULL c string must be documented and
implemented, or we risk to plague the code base with lots of more
workarounds.

-- 
Salu2

Reply via email to