diff options
Diffstat (limited to 'plugins/utils.c')
| -rw-r--r-- | plugins/utils.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/plugins/utils.c b/plugins/utils.c index a864e4aa..231af92b 100644 --- a/plugins/utils.c +++ b/plugins/utils.c | |||
| @@ -668,3 +668,44 @@ char *sperfdata (const char *label, | |||
| 668 | 668 | ||
| 669 | return data; | 669 | return data; |
| 670 | } | 670 | } |
| 671 | |||
| 672 | char *sperfdata_int (const char *label, | ||
| 673 | int val, | ||
| 674 | const char *uom, | ||
| 675 | char *warn, | ||
| 676 | char *crit, | ||
| 677 | int minp, | ||
| 678 | int minv, | ||
| 679 | int maxp, | ||
| 680 | int maxv) | ||
| 681 | { | ||
| 682 | char *data = NULL; | ||
| 683 | if (strpbrk (label, "'= ")) | ||
| 684 | xasprintf (&data, "'%s'=", label); | ||
| 685 | else | ||
| 686 | xasprintf (&data, "%s=", label); | ||
| 687 | |||
| 688 | xasprintf (&data, "%s%d", data, val); | ||
| 689 | xasprintf (&data, "%s%s;", data, uom); | ||
| 690 | |||
| 691 | if (warn!=NULL) | ||
| 692 | xasprintf (&data, "%s%s", data, warn); | ||
| 693 | |||
| 694 | xasprintf (&data, "%s;", data); | ||
| 695 | |||
| 696 | if (crit!=NULL) | ||
| 697 | xasprintf (&data, "%s%s", data, crit); | ||
| 698 | |||
| 699 | xasprintf (&data, "%s;", data); | ||
| 700 | |||
| 701 | if (minp) | ||
| 702 | xasprintf (&data, "%s%d", data, minv); | ||
| 703 | |||
| 704 | if (maxp) { | ||
| 705 | xasprintf (&data, "%s;", data); | ||
| 706 | xasprintf (&data, "%s%d", data, maxv); | ||
| 707 | } | ||
| 708 | |||
| 709 | return data; | ||
| 710 | } | ||
| 711 | |||
