From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8687 invoked by alias); 22 Apr 2003 23:14:52 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 8658 invoked from network); 22 Apr 2003 23:14:52 -0000 Received: from unknown (HELO caip.rutgers.edu) (128.6.236.10) by sources.redhat.com with SMTP; 22 Apr 2003 23:14:52 -0000 Received: (from ghazi@localhost) by caip.rutgers.edu (8.9.3/8.9.3) id TAA04965; Tue, 22 Apr 2003 19:14:51 -0400 (EDT) Date: Tue, 22 Apr 2003 23:56:00 -0000 From: "Kaveh R. Ghazi" Message-Id: <200304222314.TAA04965@caip.rutgers.edu> To: schwab@suse.de Subject: Re: Libiberty's snprintf for v3? Cc: dj@redhat.com, gcc@gcc.gnu.org, libstdc++@gcc.gnu.org, pcarlini@unitus.it References: <3EA44576.90708@unitus.it> <200304220041.UAA22116@caip.rutgers.edu> X-SW-Source: 2003-04/txt/msg01104.txt.bz2 > From: Andreas Schwab > > "Kaveh R. Ghazi" writes: > > |> C. I'm not sure if it's legal (portable) to traverse the va_list > |> twice inside vsnprintf.c, once with vfprintf and once is vsprintf. > > It is only legal when both traverses are either bracketed by > va_start/va_end, or you use va_copy to copy the va_alist object. va_copy > is a C99 feature, if it isn't provided use __va_copy if defined, else a > simple assignment. > Andreas. Thanks, I've snarfed the va_copy defaults from gcc/system.h. -- Kaveh R. Ghazi ghazi@caip.rutgers.edu