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 685a638a..a5245c67 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 | } | ||
