[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] improving get_tok_str

From: Michael Matz
Subject: Re: [Tinycc-devel] improving get_tok_str
Date: Sat, 29 Mar 2014 18:26:10 +0100 (CET)
User-agent: Alpine 2.00 (LNX 1167 2008-08-23)


On Sat, 29 Mar 2014, grischka wrote:

Thomas Preudhomme wrote:
Le 2014-03-15 20:10, mobi phil a écrit :

get_tok_str is called in several places with second parameter NULL,

though inside members (thus dereferencing NULL) is possible.

Probably this combination "bad" never happens, but would like to use
this function to understand the code.

Yes, it ought to be fixed. The solution would be simple:

CValue cval;

if (!cv) {
    cval.ull = 0;
    cv = &cval;

That doesn't fix anything except that it allows adding invalid
code more easily. ;)

Actually it does. get_tok_str only needs a CValue for certain tokens, exactly those that aren't self-describing (keywords and identifiers are, numbers for instance aren't). So depending on the caller of get_tok_str (usually warning or error message printers) it's quite normal to simply not have any CValue and only a token. It would be unreasonable to require such callers to pass an invented CValue. Such invention can also be hidden centrally inside get_tok_str.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]