From 76992b8468bbd88da50e85d8636e870f3b2d6ab8 Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Mon, 13 Oct 2014 10:36:39 +1100 Subject: [PATCH] oceani: allow number of command line to be negative. number_parse doesn't expect leading sign, so handle it explicitly. Signed-off-by: NeilBrown --- csrc/oceani.mdc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/csrc/oceani.mdc b/csrc/oceani.mdc index 47d5f8a..784c680 100644 --- a/csrc/oceani.mdc +++ b/csrc/oceani.mdc @@ -395,6 +395,7 @@ when no longer needed. static int parse_value(struct value *vl, char *arg) { struct text tx; + int neg = 0; switch(vl->vtype) { case Vunknown: case Vnone: @@ -405,9 +406,15 @@ when no longer needed. memcpy(vl->str.txt, arg, vl->str.len); break; case Vnum: + if (*arg == '-') { + neg = 1; + arg++; + } tx.txt = arg; tx.len = strlen(tx.txt); if (number_parse(vl->num, vl->tail, tx) == 0) mpq_init(vl->num); + else if (neg) + mpq_neg(vl->num, vl->num); break; case Vbool: if (strcasecmp(arg, "true") == 0 || -- 2.43.0