* Fix to tr so it recognizes standard escape sequences.  Merged common
    escape seq. code from tr and echo into utility.c.  Fix thanks to
    Matt Kraai <kraai@alumni.carnegiemellon.edu>.
* This should close Bug #1015.  Please test.
 -Erik
diff --git a/tr.c b/tr.c
index 3e7ba58..48cdd47 100644
--- a/tr.c
+++ b/tr.c
@@ -111,22 +111,14 @@
 	}
 }
 
-static void expand(register char *arg, register unsigned char *buffer)
+static void expand(char *arg, register unsigned char *buffer)
 {
 	int i, ac;
 
 	while (*arg) {
 		if (*arg == '\\') {
 			arg++;
-			i = ac = 0;
-			if (*arg >= '0' && *arg <= '7') {
-				do {
-					ac = (ac << 3) + *arg++ - '0';
-					i++;
-				} while (i < 4 && *arg >= '0' && *arg <= '7');
-				*buffer++ = ac;
-			} else if (*arg != '\0')
-				*buffer++ = *arg++;
+			*buffer++ = process_escape_sequence(&arg);
 		} else if (*arg == '[') {
 			arg++;
 			i = *arg++;