[libvirt] [PATCH 3/3] virsh: Improve handling of send-process-signal --pid.

Andrea Bolognani abologna at redhat.com
Fri May 15 16:14:41 UTC 2015


Use vshCommandOptLongLong() instead of retrieving the value as a
string and converting it to a number manually.
---
 tools/virsh-domain.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index 10d01b6..36f3e6c 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -8262,7 +8262,6 @@ cmdSendProcessSignal(vshControl *ctl, const vshCmd *cmd)
 {
     virDomainPtr dom;
     bool ret = false;
-    const char *pidstr;
     const char *signame;
     long long pid_value;
     int signum;
@@ -8270,17 +8269,16 @@ cmdSendProcessSignal(vshControl *ctl, const vshCmd *cmd)
     if (!(dom = vshCommandOptDomain(ctl, cmd, NULL)))
         return false;
 
-    if (vshCommandOptStringReq(ctl, cmd, "pid", &pidstr) < 0)
+    if (vshCommandOptLongLong(cmd, "pid", &pid_value) < 0) {
+        vshError(ctl,
+                 _("Numeric value for <%s> option is malformed or out of range"),
+                 "pid");
         goto cleanup;
+    }
 
     if (vshCommandOptStringReq(ctl, cmd, "signame", &signame) < 0)
         goto cleanup;
 
-    if (virStrToLong_ll(pidstr, NULL, 10, &pid_value) < 0) {
-        vshError(ctl, _("malformed PID value: %s"), pidstr);
-        goto cleanup;
-    }
-
     if ((signum = getSignalNumber(ctl, signame)) < 0) {
         vshError(ctl, _("malformed signal name: %s"), signame);
         goto cleanup;
-- 
2.1.0




More information about the libvir-list mailing list