diff options
Diffstat (limited to 'doc/common.c')
-rw-r--r-- | doc/common.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/doc/common.c b/doc/common.c new file mode 100644 index 0000000..492f9b9 --- /dev/null +++ b/doc/common.c @@ -0,0 +1,47 @@ +char *escape_string(const char *str, char *buffer, int buffer_size) +{ + int i = 0, j = 0; + + + while (str[i] != 0 && j < buffer_size - 1) { + if (str[i] == '_') { + buffer[j++] = '\\'; + buffer[j++] = '_'; + buffer[j++] = '\\'; + buffer[j++] = '-'; + } else if (str[i] == '#') { + buffer[j++] = '\\'; + buffer[j++] = '#'; + } else { + buffer[j++] = str[i]; + } + i++; + }; + + buffer[j] = 0; + + return buffer; + +} + +char *escape_texi_string(const char *str, char *buffer, int buffer_size) +{ + int i = 0, j = 0; + + + while (str[i] != 0 && j < buffer_size - 1) { + if (str[i] == '_') { + buffer[j++] = '_'; + buffer[j++] = '@'; + buffer[j++] = '-'; + } else { + buffer[j++] = str[i]; + } + i++; + }; + + buffer[j] = 0; + + return buffer; + +} |