| 2306 | required number of tabs and spaces. */ |
| 2307 | |
| 2308 | static void |
| 2309 | print_char (char c) |
| 2310 | { |
| 2311 | if (tabify_output) |
| 2312 | { |
| 2313 | if (c == ' ') |
| 2314 | { |
| 2315 | ++spaces_not_printed; |
| 2316 | return; |
| 2317 | } |
| 2318 | else if (spaces_not_printed > 0) |
| 2319 | print_white_space (); |
| 2320 | |
| 2321 | /* Nonprintables are assumed to have width 0, except '\b'. */ |
| 2322 | if (! isprint (to_uchar (c))) |
| 2323 | { |
| 2324 | if (c == '\b') |
| 2325 | --output_position; |
| 2326 | } |
| 2327 | else |
| 2328 | ++output_position; |
| 2329 | } |
| 2330 | putchar (c); |
| 2331 | } |
| 2332 | |
| 2333 | /* Skip to page PAGE before printing. |
| 2334 | PAGE may be larger than total number of pages. */ |
no test coverage detected