On Thu, Jun 5, 2008 at 9:28 PM, chromatic <[EMAIL PROTECTED]> wrote:
> On Thursday 05 June 2008 18:19:21 Will Coleda via RT wrote:
>
>> I have a counter-patch:
>>
>> Index: tools/build/c2str.pl
>> =========================================================
>> ==========
>> --- tools/build/c2str.pl        (revision 28124)
>> +++ tools/build/c2str.pl        (working copy)
>> @@ -142,10 +142,6 @@
>>              die "Seen line $line before in $infile - can't continue";
>>          }
>>
>> -        # RT#46909 maybe cope with escaped \"
>> -        my $cnt = tr/"/"/;
>> -        die "bogus CONST_STRING at line $line" if $cnt % 2;
>> -
>>          my $str = extract_delimited;    # $_, '"';
>>          $str = substr $str, 1, -1;
>>          ## print STDERR "** '$str' $line\n";
>>
>>
>> With this, if a bogus CONST_STRING is constructed, ala:
>>
>>     STRING *bogus       = CONST_STRING(INTERP, "\\"");
>>
>> The the build errors out with:
>>
>> /home/coke/bin/perl tools/build/pmc2c.pl --dump src/pmc/codestring.pmc
>> Badly balanced PMC source
>>
>> No need to duplicate this logic in this build tool when we're already
>> checking for it elsewhere.
>>
>> Comments?
>
> I agree in principle, but the error message from c2str.pl is a lot better than
> the error message from Text::Balanced.  Is that worth the extra code it would
> take to fix this case (which hasn't yet come up)?
>
> -- c
>
>

We can always improve the diagnostic emitted by the PMC compiler.
Mismatched strings are going to be an issue whether they're in a
CONST_STRING declaration or just an assignment to char *.

So, no, it's not worth fixing up c2str.pl, IMO.
-- 
Will "Coke" Coleda

Reply via email to