[libvirt] [PATCH 04/10] cgroup: Replace sscanf with virStrToLong_ll
Matthias Bolte
matthias.bolte at googlemail.com
Wed Mar 31 12:05:55 UTC 2010
2010/3/31 Eric Blake <eblake at redhat.com>:
> On 03/30/2010 10:20 AM, Matthias Bolte wrote:
>> - if (sscanf(strval, "%" SCNi64, value) != 1)
>> + if (virStrToLong_ll(strval, NULL, 10, value) < 0)
>
> Oops. You effectively changed from %lli to %lld, which means the string
> now has to be decimal, instead of octal or hex. Did you mean to pass 0
> as the third argument?
>
Good catch. I didn't notice that it was using %lli actually.
But I think switching virCgroupGetValueI64 to %lld is no problem here.
Because virCgroupGetValueU64 already uses virStrToLong_ull with base =
10 and virCgroupSetValueI64 uses %lld in its virAsprintf call.
And I just noticed that virCgroupGetValueI64 is in an #if 0 block, so
its not used yet. So it's safe to change it.
Matthias
More information about the libvir-list
mailing list