On Wed, Dec 8, 2021 at 7:59 PM Leizhen (ThunderTown) <thunder.leizhen@xxxxxxxxxx> wrote: > > > > On 2021/12/1 10:55, Leizhen (ThunderTown) wrote: > >>> + } > >>> > >>> - memblock_cap_memory_range(cap_mem_addr, cap_mem_size); > >>> + memblock_cap_memory_range(rgn[0].base, rgn[0].size); > >>> + for (i = 1; i < MAX_USABLE_RANGES && rgn[i].size; i++) > >> s/ &&/,/ > > Hi Rob: > I want to keep "&&" unchanged, do you mind? I'm going to post an > updated version tomorrow, hopefully the last. Looks like that was obviously correct, so no objections. Rob > > > Hi Rob: > > > > The comma operator may not be suitable for logical judgment. The logical judgment > > before commas (,) is ignored. > > > > Here's my test: > > > > C code: > > int main() > > { > > int i, j; > > > > printf("&&:\n"); > > for (i = 0, j = 0; i < 2 && j < 3; i++, j++) > > printf("i=%d, j=%d\n", i, j); > > > > printf("\ncomma:\n"); > > for (i = 0, j = 0; i < 2, j < 3; i++, j++) //(i < 2) before comma is ignored > > printf("i=%d, j=%d\n", i, j); > > > > return 0; > > } > > > > Output: > > &&: > > i=0, j=0 > > i=1, j=1 > > > > comma: > > i=0, j=0 > > i=1, j=1 > > i=2, j=2 > > > >