opt_l.c revision 1.2 1 1.2 rillig /* $NetBSD: opt_l.c,v 1.2 2021/11/20 16:54:17 rillig Exp $ */
2 1.1 rillig /* $FreeBSD$ */
3 1.1 rillig
4 1.2 rillig /*
5 1.2 rillig * Tests for the option '-l', which specifies the maximum length of a line.
6 1.2 rillig *
7 1.2 rillig * As of 2021-11-20, indent assumes that each byte occupies a single column,
8 1.2 rillig * it does not properly handle Unicode.
9 1.2 rillig */
10 1.2 rillig
11 1.1 rillig #indent input
12 1.1 rillig /*
13 1.1 rillig * With a line length of 38, this comment and the next one are broken.
14 1.1 rillig */
15 1.1 rillig
16 1.1 rillig /* The options -l and -lc produce the same output. */
17 1.1 rillig #indent end
18 1.1 rillig
19 1.1 rillig #indent run -l38
20 1.1 rillig /*
21 1.1 rillig * With a line length of 38, this
22 1.1 rillig * comment and the next one are
23 1.1 rillig * broken.
24 1.1 rillig */
25 1.1 rillig
26 1.1 rillig /*
27 1.1 rillig * The options -l and -lc produce the
28 1.1 rillig * same output.
29 1.1 rillig */
30 1.1 rillig #indent end
31 1.1 rillig #indent run-equals-prev-output -lc38
32 1.1 rillig
33 1.2 rillig #indent run-equals-input -l78
34 1.2 rillig #indent run-equals-input -lc78
35 1.2 rillig
36 1.1 rillig
37 1.1 rillig #indent input
38 1.1 rillig int decl; /* comment comment comment comment */
39 1.1 rillig #indent end
40 1.1 rillig
41 1.2 rillig /*
42 1.2 rillig * The option '-lc' only applies to block comments, not to comments to the
43 1.2 rillig * right of code or declarations.
44 1.2 rillig */
45 1.1 rillig #indent run -di8 -c17 -lc32
46 1.1 rillig int decl; /* comment comment comment comment */
47 1.1 rillig #indent end
48 1.1 rillig
49 1.1 rillig #indent run -di8 -c17 -l32
50 1.1 rillig int decl; /* comment comment
51 1.1 rillig * comment comment */
52 1.1 rillig #indent end
53 1.1 rillig
54 1.1 rillig
55 1.1 rillig /*
56 1.1 rillig * FIXME: Even though the line length is limited with -l38,
57 1.1 rillig * the overly long lines in the code are not broken.
58 1.1 rillig */
59 1.1 rillig #indent input
60 1.1 rillig void
61 1.1 rillig example(int a, int b, int c, const char *cp)
62 1.1 rillig {
63 1.1 rillig for (const char *p = cp; *p != '\0'; p++)
64 1.1 rillig if (*p > a)
65 1.1 rillig if (*p > b)
66 1.1 rillig if (*p > c)
67 1.1 rillig return;
68 1.1 rillig
69 1.1 rillig function(1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
70 1.1 rillig }
71 1.1 rillig #indent end
72 1.1 rillig
73 1.1 rillig #indent run-equals-input -l38
74