diff options
Diffstat (limited to 'plugins/utils.c')
| -rw-r--r-- | plugins/utils.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/plugins/utils.c b/plugins/utils.c index 5c809ece..aad30068 100644 --- a/plugins/utils.c +++ b/plugins/utils.c | |||
| @@ -497,3 +497,47 @@ strpcat (char *dest, const char *src, const char *str) | |||
| 497 | 497 | ||
| 498 | return dest; | 498 | return dest; |
| 499 | } | 499 | } |
| 500 | |||
| 501 | |||
| 502 | |||
| 503 | |||
| 504 | /****************************************************************************** | ||
| 505 | * | ||
| 506 | * Print perfdata in a standard format | ||
| 507 | * | ||
| 508 | ******************************************************************************/ | ||
| 509 | |||
| 510 | char *perfdata (const char *label, | ||
| 511 | long int val, | ||
| 512 | const char *uom, | ||
| 513 | int warnp, | ||
| 514 | long int warn, | ||
| 515 | int critp, | ||
| 516 | long int crit, | ||
| 517 | int minp, | ||
| 518 | long int minv, | ||
| 519 | int maxp, | ||
| 520 | long int maxv) | ||
| 521 | { | ||
| 522 | char *data = NULL; | ||
| 523 | |||
| 524 | asprintf (&data, "\"%s\"=%ld%s;", label, val, uom); | ||
| 525 | |||
| 526 | if (warnp) | ||
| 527 | asprintf (&data, "%s%ld;", data, warn); | ||
| 528 | else | ||
| 529 | asprintf (&data, "%s;", data); | ||
| 530 | |||
| 531 | if (critp) | ||
| 532 | asprintf (&data, "%s%ld;", data, crit); | ||
| 533 | else | ||
| 534 | asprintf (&data, "%s;", data); | ||
| 535 | |||
| 536 | if (minp) | ||
| 537 | asprintf (&data, "%s%ld", data, minv); | ||
| 538 | |||
| 539 | if (maxp) | ||
| 540 | asprintf (&data, "%s;%ld", data, maxv); | ||
| 541 | |||
| 542 | return data; | ||
| 543 | } | ||
