On 01/07/2016 01:12 AM, Cao jin wrote: >>> if (rc < 0) { >>> - XEN_PT_LOG(&s->dev, "Failed to initialize %d/%ld, >>> type=0x%x, rc:%d\n", >>> - i, ARRAY_SIZE(xen_pt_emu_reg_grps), >>> + error_setg(&local_err, "Failed to initialize %d/%ld, >>> type=0x%x," >>> + " rc:%d", i, >>> ARRAY_SIZE(xen_pt_emu_reg_grps), >> >> This maps ARRAY_SIZE() (which is size_t) to %ld, which can fail to >> compile on 32-bit platforms (where size_t is not necessarily long). Fix >> it to %zd while touching it. >> > > a question: > 1. Is %zu more suitable for size_t? since size_t is unsigned integer.
Yes, you're right on that one. > > and a personal question after digging into size_t: > 2. Does the size of size_t always equal to the word length[*] of computer No. It equals the maximum size the program can use. But the x32 ABI project is a good example of a 32-bit size_t while still taking full advantage of the 64-bit word size registers, in the name of memory efficiencies. See https://en.wikipedia.org/wiki/X32_ABI. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature