Boost logo

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