
On 01/11/2013 11:15 AM, Eduardo Habkost wrote:
Extract the code that's specific for the "node" -numa option type (the only one, today) to a separate function.
The extracted code will eventually become a function specific for a "numa-node" config section, independent from the numa_add() code.
+ if (get_param_value(option, 128, "nodeid", optarg) == 0) { + nodenr = nb_numa_nodes; + } else { + nodenr = strtoull(option, NULL, 10); }
strtoull() needs additional error checking after the fact, to make sure I didn't pass an empty string, trailing garbage, or so many digits I triggered overflow.
+ if (get_param_value(option, 128, "cpus", optarg) != 0) { + value = strtoull(option, &endptr, 10); + if (*endptr == '-') { + endvalue = strtoull(endptr+1, &endptr, 10); } else { - nodenr = strtoull(option, NULL, 10); + endvalue = value; }
More uses of strtoull() that aren't guarding against all possible errors. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org