Code

add perfdata function for floats to complement ints, also spell fix "received"
authorKarl DeBisschop <kdebisschop@users.sourceforge.net>
Fri, 20 Feb 2004 05:21:21 +0000 (05:21 +0000)
committerKarl DeBisschop <kdebisschop@users.sourceforge.net>
Fri, 20 Feb 2004 05:21:21 +0000 (05:21 +0000)
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@817 f882894a-f735-0410-b71e-b25c423dba1c

plugins/utils.c
plugins/utils.h

index ec2547392c0665c5acd1b1632ee84d9ef8837458..77e2e27955f33c77fd981052161e5229bb179810 100644 (file)
@@ -544,3 +544,42 @@ char *perfdata (const char *label,
 
        return data;
 }
+
+
+char *fperfdata (const char *label,
+ double val,
+ const char *uom,
+ int warnp,
+ double warn,
+ int critp,
+ double crit,
+ int minp,
+ double minv,
+ int maxp,
+ double maxv)
+{
+       char *data = NULL;
+
+       if (strpbrk (label, "'= "))
+               asprintf (&data, "'%s'=%ld%s;", label, val, uom);
+       else
+               asprintf (&data, "%s=%ld%s;", label, val, uom);
+
+       if (warnp)
+               asprintf (&data, "%s%ld;", data, warn);
+       else
+               asprintf (&data, "%s;", data);
+
+       if (critp)
+               asprintf (&data, "%s%ld;", data, crit);
+       else
+               asprintf (&data, "%s;", data);
+
+       if (minp)
+               asprintf (&data, "%s%ld", data, minv);
+
+       if (maxp)
+               asprintf (&data, "%s;%ld", data, maxv);
+
+       return data;
+}
index c2b06415478902b16fb132de486557f26b856c04..35e62ab44c36be7821f1726948520f27c5300666 100644 (file)
@@ -92,6 +92,18 @@ char *perfdata (const char *label,
  int maxp,
  long int maxv);
 
+char *fperfdata (const char *label,
+ double val,
+ const char *uom,
+ int warnp,
+ double warn,
+ int critp,
+ double crit,
+ int minp,
+ double minv,
+ int maxp,
+ double maxv);
+
 /* The idea here is that, although not every plugin will use all of these, 
    most will or should.  Therefore, for consistency, these very common 
    options should have only these meanings throughout the overall suite */