From: Brian King
> Sent: 18 September 2015 22:35
...
> > +   for (i = 0; i < CXLFLASH_NUM_VLUNS; i++, buf += 22)
> 
> Rather than this bug prone hard coded 22, how about never incrementing buf 
> and do something
> similar to this:
> 
> > +           bytes += scnprintf(buf, PAGE_SIZE, "%03d: %016llX\n",
> > +                              i, readq_be(&fc_port[i]));
> 
>               bytes += scnprintf(&buf[bytes], PAGE_SIZE, "%03d: %016llX\n",
>                                  i, readq_be(&fc_port[i]));
...

        bytes += scnprintf(buf + bytes, PAGE_SIZE - bytes, ....

You need to check scnprintf()'s return value though.
The above is wrong for libc's snprintf().

        David

N�����r��y����b�X��ǧv�^�)޺{.n�+����{���"�{ay�ʇڙ�,j��f���h���z��w���
���j:+v���w�j�m��������zZ+�����ݢj"��!�i

Reply via email to