detect non-int inputs, problem raised by Masayuki Sunou
Daniel
+Thu Aug 16 15:24:30 CEST 2007 Daniel Veillard <veillard@redhat.com>
+
+ * src/virsh.c: vshCommandOptInt was broken as it would not
+ detect non-int inputs, problem raised by Masayuki Sunou
+
Wed Aug 15 12:21:13 CEST 2007 Daniel Veillard <veillard@redhat.com>
* src/virsh.c: fixed 2 small bugs in setvcpus command, after
vshCommandOptInt(vshCmd * cmd, const char *name, int *found)
{
vshCmdOpt *arg = vshCommandOpt(cmd, name);
- int res = 0;
+ int res = 0, num_found = FALSE;
+ char *end_p = NULL;
- if (arg)
- res = atoi(arg->data);
+ if ((arg != NULL) && (arg->data != NULL)) {
+ res = strtol(arg->data, &end_p, 10);
+ if ((arg->data == end_p) || (*end_p!= 0))
+ num_found = FALSE;
+ else
+ num_found = TRUE;
+ }
if (found)
- *found = arg ? TRUE : FALSE;
+ *found = num_found;
return res;
}