]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: make parse_pos_long() error message more helpful
authorSage Weil <sage@inktank.com>
Mon, 27 Aug 2012 15:36:41 +0000 (08:36 -0700)
committerSage Weil <sage@inktank.com>
Mon, 27 Aug 2012 15:36:41 +0000 (08:36 -0700)
Signed-off-by: Sage Weil <sage@inktank.com>
src/mon/Monitor.cc

index f73de532ad8dd32a2e64e7b71497aefe3d116a01..1a4d21673bd7a362b48906deefa039e6db310913 100644 (file)
@@ -94,14 +94,14 @@ long parse_pos_long(const char *s, ostream *pss)
 {
   char *e = 0;
   long r = strtol(s, &e, 10);
-  if (e == s || e == 0) {
+  if (e == s || e == 0 || r < 0) {
     if (pss)
       *pss << "unable to parse positive integer '" << s << "'";
     return -1;
   }
   if (r < 0 || r == LONG_MAX || r == LONG_MIN) {
     if (pss)
-      *pss << "unable to parse positive integer '" << s << "'";
+      *pss << "unable to parse positive integer '" << s << "': value is negative or too large";
     return -1;
   }
   return r;