aboutsummaryrefslogtreecommitdiff
path: root/plugins/utils.c
diff options
context:
space:
mode:
authorGravatar Ton Voon <tonvoon@users.sourceforge.net> 2006-03-29 16:33:36 +0000
committerGravatar Ton Voon <tonvoon@users.sourceforge.net> 2006-03-29 16:33:36 +0000
commitf5c1cf6dd406be0b795f7388617d5469c6a358be (patch)
tree841b908d652b621846457a1e46f12c397a315286 /plugins/utils.c
parenta0f387467691292fe62c66e56fbc8476c7ecbb2d (diff)
downloadmonitoring-plugins-f5c1cf6dd406be0b795f7388617d5469c6a358be.tar.gz
New function to for escaped strings from command line for send/quit.
Adapted from Sebastian Wiesinger's patch (1292404) git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1365 f882894a-f735-0410-b71e-b25c423dba1c
Diffstat (limited to 'plugins/utils.c')
-rw-r--r--plugins/utils.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/plugins/utils.c b/plugins/utils.c
index 685a638a..a5245c67 100644
--- a/plugins/utils.c
+++ b/plugins/utils.c
@@ -727,3 +727,33 @@ char *fperfdata (const char *label,
return data;
}
+
+char *np_escaped_string (const char *string) {
+ char *data;
+ int i, j=0;
+ data = strdup(string);
+ for (i=0; data[i]; i++) {
+ if (data[i] == '\\') {
+ switch(data[++i]) {
+ case 'n':
+ data[j++] = '\n';
+ break;
+ case 'r':
+ data[j++] = '\r';
+ break;
+ case 't':
+ data[j++] = '\t';
+ break;
+ case '\\':
+ data[j++] = '\\';
+ break;
+ default:
+ data[j++] = data[i];
+ }
+ } else {
+ data[j++] = data[i];
+ }
+ }
+ data[j] = '\0';
+ return data;
+}