diff options
author | Rob Landley <rob@landley.net> | 2014-10-18 17:14:12 -0500 |
---|---|---|
committer | Rob Landley <rob@landley.net> | 2014-10-18 17:14:12 -0500 |
commit | 5fcc71581abdf8839d10786d7ac437cc5b0bf4c5 (patch) | |
tree | 4143360f7699d4b2b6f3daecf7ae36a2c625a913 /lib/lib.c | |
parent | 01138b94e6ac9ff2d1258917f96c0c5c8c124021 (diff) | |
download | toybox-5fcc71581abdf8839d10786d7ac437cc5b0bf4c5.tar.gz |
Factor out printf-style escape parsing logic from echo.c.
Diffstat (limited to 'lib/lib.c')
-rw-r--r-- | lib/lib.c | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -283,6 +283,14 @@ int stridx(char *haystack, char needle) return off-haystack; } +int unescape(char c) +{ + char *from = "\\abefnrtv", *to = "\\\a\b\033\f\n\r\t\v"; + int idx = stridx(from, c); + + return (idx == -1) ? 0 : to[idx]; +} + // If *a starts with b, advance *a past it and return 1, else return 0; int strstart(char **a, char *b) { |