Source-Changes-D archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/usr.bin/make
> Module Name: src
> Committed By: sjg
> Date: Sat Feb 25 22:52:22 UTC 2023
>
> Modified Files:
> src/usr.bin/make: meta.c
>
> Log Message:
> meta.c: use macro to access job->bm
>
> and if job is NULL use Mybm.
> +#define BM(job) (job != NULL) ? &job->bm : &Mybm
If this must be a macro, it should have more parentheses to avoid
confusion at use sites:
#define BM(job) (((job) != NULL) ? &(job)->bm : &Mybm)
As is, for instance,
BM(jobarray + i)
or
BM(job)->member
will do the wrong thing (perhaps with a compile error but needlessly
confusing nonetheless).
That said, I don't see any reason why this should be a macro in the
first place. If there is a compelling reason, please write it down;
if not, please change it to a static function:
static BuildMon *
BM(Job *job)
{
return (job != NULL ? &job->bm : &Mypbm);
}
Home |
Main Index |
Thread Index |
Old Index