Boost logo

Boost-Build :

From: Rene Rivera (grafik.list_at_[hidden])
Date: 2005-11-15 10:50:28


Vladimir Prus wrote:
> On Thursday 03 November 2005 19:41, Rene Rivera wrote:
>
>>+ /* expand the temporary file name var inline */
>>+ #if 0
>>+ string_copy(&file_name_v,"$(");
>>+ string_append_range(&file_name_v,in+2,split);
>>+ string_push_back(&file_name_v,')');
>>+ #else
>>+ string_new(&file_name_v);
>>+ string_append_range(&file_name_v,in+2,split);
>>+ #endif
>
> Is this #if 0 still necessary?

I'm just "commenting" out an alternate way of evaluating the @()
filename part. I just forgot to mention it on the list. The commented
out code changes the expansion so that it behaves like regular variable
instead of the current. That is it makes the syntax be:

@(some-var:S=rsp:E=text)

Instead of:

@($(some-var:S=rsp):E=text)

But it has the drawback of not supporting the file names we currently
generate: qwerty.cpp.rsp.

>
> I don't quite understand the logic here. Could somebody clarify, and
improve the comment?

Sure.

>>+ while( *in && in < ine )
>>+ {
>
> Why can't the whole "while" loop be replaced with a single call to "var_expand"?
> IIRC, that function does not require a single var as input, it will skip past
> white-space and non-whitespace just fine.

Because var_expand doesn't retain whitespace.

>
> I think this comment does not explicitly specify that STDOUT and STDERR are exact strings.
> Another possible interpretation is that they are some macros defined somewhere to some special
> "char*" value (say, (char*)1 and (char*)2).

OK, I'll clarify that.

-- 
-- Grafik - Don't Assume Anything
-- Redshift Software, Inc. - http://redshift-software.com
-- rrivera/acm.org - grafik/redshift-software.com
-- 102708583/icq - grafikrobot/aim - Grafik/jabber.org

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