summaryrefslogtreecommitdiff
path: root/three/escape.c
diff options
context:
space:
mode:
authorMichael Hunteman <michael@huntm.net>2023-07-04 17:03:53 -0500
committerMichael Hunteman <michael@huntm.net>2023-07-06 17:23:45 -0500
commitbfce8f0d0d828209ec0bec71371ee94a7ad62d3e (patch)
treebdf49ca788ca1ca030d5b1cccfd0c9dffeb3f69f /three/escape.c
Initial commit
Diffstat (limited to 'three/escape.c')
-rw-r--r--three/escape.c53
1 files changed, 53 insertions, 0 deletions
diff --git a/three/escape.c b/three/escape.c
new file mode 100644
index 0000000..1f1dfe9
--- /dev/null
+++ b/three/escape.c
@@ -0,0 +1,53 @@
+#include <stdio.h>
+
+void
+ctoe()
+{
+ int c;
+ while ((c = getchar()) != EOF) {
+ if (c == '\\') {
+ c = getchar();
+ switch(c) {
+ case 'n':
+ putchar('\n');
+ break;
+ case 't':
+ putchar('\t');
+ break;
+ default:
+ putchar(c);
+ break;
+ }
+ } else {
+ putchar(c);
+ }
+ }
+}
+
+void
+etoc()
+{
+ int c;
+ while ((c = getchar()) != EOF) {
+ switch(c) {
+ case '\n':
+ putchar('\\');
+ putchar('n');
+ break;
+ case '\t':
+ putchar('\\');
+ putchar('t');
+ break;
+ default:
+ putchar(c);
+ break;
+ }
+ }
+}
+
+int
+main()
+{
+ etoc();
+ return 0;
+}