On Sun, Apr 6, 2008 at 9:20 PM, Mark Glines via RT
<[EMAIL PROTECTED]> wrote:

>  Ok, thanks for the clarification.  How do you think we should fix it?

The patch I submitted for this ticket earlier addresses the multiple
redefinitions issue without doing anything funny with the
PARROT_HAS_SNPRINTF macro and family. However, mine might not be the
best solution to it. As I understand it, the logic is:

1) If PARROT_HAS_SNPRINTF is defined, the system has a native snprintf
definition, and no new macro needs to be created.
2) If PARROT_HAS_C99_SNPRINTF is defined, define snprintf to use
Parrot_secret_snprintf instead. Originally, and this was not changed
in my patch, PARROT_HAS_C99_SNPRINTF and PARROT_HAS_SNPRINTF are both
defined, the C99 one takes precidence, and Parrot_secret_snprintf is
used instead of the native snprintf. This might be worth changing.
3) If _MSC_VER is defined, we use the MS-specific _snprintf function
instead. In this case, it is unlikely that we have a native snprintf
implementation, and it is also unlikely that we want to use
Parrot_secret_snprintf instead of _snprintf.

Actually, now that I think about it, let me go back and redo the patch
that I submitted to be more comprehensive. I'll post it as soon as I
have something that makes sense.

--Andrew Whitworth

Reply via email to