diff options
Diffstat (limited to 'plugins/utils.c')
-rw-r--r-- | plugins/utils.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/plugins/utils.c b/plugins/utils.c index 685a638..a5245c6 100644 --- a/plugins/utils.c +++ b/plugins/utils.c | |||
@@ -727,3 +727,33 @@ char *fperfdata (const char *label, | |||
727 | 727 | ||
728 | return data; | 728 | return data; |
729 | } | 729 | } |
730 | |||
731 | char *np_escaped_string (const char *string) { | ||
732 | char *data; | ||
733 | int i, j=0; | ||
734 | data = strdup(string); | ||
735 | for (i=0; data[i]; i++) { | ||
736 | if (data[i] == '\\') { | ||
737 | switch(data[++i]) { | ||
738 | case 'n': | ||
739 | data[j++] = '\n'; | ||
740 | break; | ||
741 | case 'r': | ||
742 | data[j++] = '\r'; | ||
743 | break; | ||
744 | case 't': | ||
745 | data[j++] = '\t'; | ||
746 | break; | ||
747 | case '\\': | ||
748 | data[j++] = '\\'; | ||
749 | break; | ||
750 | default: | ||
751 | data[j++] = data[i]; | ||
752 | } | ||
753 | } else { | ||
754 | data[j++] = data[i]; | ||
755 | } | ||
756 | } | ||
757 | data[j] = '\0'; | ||
758 | return data; | ||
759 | } | ||