KNF, lint, document all options, make man page consistent
[unix-history] / usr / src / usr.bin / vis / foldit.c
CommitLineData
03b0bbc4
MT
1/*-
2 * Copyright (c) 1990 The Regents of the University of California.
3 * All rights reserved.
4 *
5 * %sccs.include.redist.c%
6 */
7
8#ifndef lint
9static char sccsid[] = "@(#)foldit.c 1.1 (Berkeley) %G%";
10#endif /* not lint */
11
12foldit(chunk, col, max)
13 char *chunk;
14{
15 register char *cp;
16
17 /*
18 * Keep track of column position. Insert hidden newline
19 * if this chunk puts us over the limit.
20 */
21again:
22 cp = chunk;
23 while (*cp) {
24 switch(*cp) {
25 case '\n':
26 case '\r':
27 col = 0;
28 break;
29 case '\t':
30 col = col + 8 &~ 07;
31 break;
32 case '\b':
33 col = col ? col - 1 : 0;
34 break;
35 default:
36 col++;
37 }
38 if (col > (max - 2)) {
39 printf("\\\n");
40 col = 0;
41 goto again;
42 }
43 cp++;
44 }
45 return (col);
46}