|
Boost-Build : |
From: Jurko Gospodnetiæ (jurko.gospodnetic_at_[hidden])
Date: 2008-01-31 21:30:19
Hi.
I ran into the following code in bjam's timestamp() function:
...
b->name = target;
b->time = b->flags = 0;
b->progress = BIND_INIT;
if( hashenter( bindhash, (HASHDATA **)&b ) )
b->name = newstr( target ); /* never freed */
if( b->progress != BIND_INIT )
goto afterscanning;
...
and I am not quite sure that second if ever has a chance of happening.
The b->progress value is set before calling hashenter(), then
hashenter() is called that has no way of changing it (only interested in
the first pointer inside the b structure to be used as a key for
hashing, not the rest) and then possibly newstr() is called. None of
these calls seem to have any chance of affecting this b->progress flag.
Could this if be removed or am I misunderstanding something?
Best regards,
Jurko Gospodnetiæ
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk