Date: 08/31/00
- Next message: Bug Database: "[PHP-DEV] PHP 4.0 Bug #6175 Updated: XML functions no longer work in objects"
- Previous message: Chuck Hagenbuch: "[PHP-DEV] controlling session headers"
- In reply to: Zeev Suraski: "Re: [PHP-DEV] backtrace"
- Next in thread: Zeev Suraski: "Re: [PHP-DEV] backtrace"
- Reply: Zeev Suraski: "Re: [PHP-DEV] backtrace"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Thu, 31 Aug 2000, Zeev Suraski wrote:
> At 21:22 31-08-00, Sascha Schumann wrote:
> >On Thu, 31 Aug 2000, Zeev Suraski wrote:
> >
> > > At 18:33 31-08-00, Sascha Schumann wrote:
> > > >On Thu, 31 Aug 2000, Stanislav Malyshev wrote:
> > > >
> > > > > j>> called with a null list of var_args, which is causing it to barf.
> > > > > j>> Problem is, the variable orig_args is being cleared on line 369
> > > > > j>> (va_end()), and
> > > > > j>> then being reused on line 444.
> > > > >
> > > > > Sorry, don't see any va_end in current CVS.
> > > >
> > > > The old_args stuff was removed some weeks ago (if we are
> > > > talking about main/main.c). The author of the original code
> > > > did not seem to be aware of the correct va_args use.
> > >
> > > Actually, the original version was quite alright, except for under very
> > > weird platforms, which define va_list as a type that cannot be copied
> > > (probably some sort of an array).
> >
> > It was not necessary at all to copy it. That is where I saw
> > the basic misunderstanding. A va_list can be traversed
> > multiple times without copying it.
>
> A va_list cannot be traversed multiple times, which is why the code was
> originally there (I think).
The standard says otherwise.
> Many platforms that define va_list as a simple pointer, reset it to NULL on
> va_end(), which makes it useless afterwards.
That behaviour is in conformance with ISO C99, SuS II and
the upcoming SuS III (successor of POSIX).
"void va_end(va_list ap)
[..] The va_end macro may modify ap so that it is no longer
usable (without being reinitialized by the va_start or
va_copy macro). [..]"
Note the part about reinitialization.
- Sascha
-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe <email protected> For additional commands, e-mail: php-dev-help <email protected> To contact the list administrators, e-mail: php-list-admin <email protected>
- Next message: Bug Database: "[PHP-DEV] PHP 4.0 Bug #6175 Updated: XML functions no longer work in objects"
- Previous message: Chuck Hagenbuch: "[PHP-DEV] controlling session headers"
- In reply to: Zeev Suraski: "Re: [PHP-DEV] backtrace"
- Next in thread: Zeev Suraski: "Re: [PHP-DEV] backtrace"
- Reply: Zeev Suraski: "Re: [PHP-DEV] backtrace"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

