summaryrefslogtreecommitdiff
path: root/libs/pbd3/unescape.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/pbd3/unescape.cc')
-rw-r--r--libs/pbd3/unescape.cc137
1 files changed, 0 insertions, 137 deletions
diff --git a/libs/pbd3/unescape.cc b/libs/pbd3/unescape.cc
deleted file mode 100644
index 2c79740e4a..0000000000
--- a/libs/pbd3/unescape.cc
+++ /dev/null
@@ -1,137 +0,0 @@
-#include <cstdlib>
-
-#include <pbd/unescape.h>
-
-void
-unescape (char *str)
-
-{
- char *p;
- bool escaped;
- long offset;
- char octal[4];
- int noct;
- char hex[3];
- int nhex;
-
- escaped = false;
- offset = 0;
- octal[3] = '\0';
- hex[2] = '\0';
-
- p = str;
-
- while (*p) {
- if (!escaped) {
- if (*p == '\\') {
- escaped = true;
- } else {
- *(p-offset) = *p;
- }
- p++;
- continue;
- }
-
- switch (*p) {
- case 'f':
- offset++;
- *(p-offset) = '\f';
- break;
- case 'r':
- offset++;
- *(p-offset) = '\r';
- break;
-
- case 'v':
- offset++;
- *(p-offset) = '\v';
- break;
-
- case 'n':
- offset++;
- *(p-offset) = '\n';
- break;
-
- case 't':
- offset++;
- *(p-offset) = '\t';
- break;
-
- case 'b':
- offset++;
- *(p-offset) = '\b';
- break;
-
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- noct = 0;
- while (noct < 3 &&
- (*p >= '0' && *p <= '7')) {
- octal[noct++] = *p;
- offset++;
- p++;
- }
- p--;
- *(p-offset) = strtol (octal, 0, 8);
- break;
-
- case 'x':
- nhex = 0;
- p++;
- offset++;
-
- while (nhex < 2 &&
- ((*p >= '0' && *p <= '9') ||
- (*p >= 'a' && *p <= 'f') ||
- (*p >= 'A' && *p <= 'F'))) {
- hex[nhex++] = *p;
- offset++;
- p++;
- }
- p--;
- *(p-offset) = strtol (hex, 0, 16);
- break;
-
- case '\\':
- offset++;
- *(p-offset) = '\\';
- break;
-
- case '"':
- offset++;
- *(p-offset) = '"';
- break;
-
- case '\'':
- offset++;
- *(p-offset) = '\'';
- break;
-
- default:
- *(p-offset) = *p;
- }
-
- escaped = false;
- p++;
- }
-
- *(p-offset) = '\0';
-}
-
-#ifdef TEST
-#include <cstdio>
-
-main (int argc, char *argv[])
-
-{
- unescape (argv[1]);
- printf ("%s\n", argv[1]);
-}
-
-#endif