| 1073 | /* Output a single-character \ escape. */ |
| 1074 | |
| 1075 | static void |
| 1076 | print_esc_char (char c) |
| 1077 | { |
| 1078 | switch (c) |
| 1079 | { |
| 1080 | case 'a': /* Alert. */ |
| 1081 | c ='\a'; |
| 1082 | break; |
| 1083 | case 'b': /* Backspace. */ |
| 1084 | c ='\b'; |
| 1085 | break; |
| 1086 | case 'e': /* Escape. */ |
| 1087 | c ='\x1B'; |
| 1088 | break; |
| 1089 | case 'f': /* Form feed. */ |
| 1090 | c ='\f'; |
| 1091 | break; |
| 1092 | case 'n': /* New line. */ |
| 1093 | c ='\n'; |
| 1094 | break; |
| 1095 | case 'r': /* Carriage return. */ |
| 1096 | c ='\r'; |
| 1097 | break; |
| 1098 | case 't': /* Horizontal tab. */ |
| 1099 | c ='\t'; |
| 1100 | break; |
| 1101 | case 'v': /* Vertical tab. */ |
| 1102 | c ='\v'; |
| 1103 | break; |
| 1104 | case '"': |
| 1105 | case '\\': |
| 1106 | break; |
| 1107 | default: |
| 1108 | error (0, 0, _("warning: unrecognized escape '\\%c'"), c); |
| 1109 | break; |
| 1110 | } |
| 1111 | putchar (c); |
| 1112 | } |
| 1113 | |
| 1114 | ATTRIBUTE_PURE |
| 1115 | static size_t |