You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
159 lines
3.5 KiB
159 lines
3.5 KiB
4 years ago
|
/* Make the structure name match the typedef. */
|
||
|
typedef struct bar {
|
||
|
int level;
|
||
|
} BAR;
|
||
|
typedef int foo; /* This is foo. */
|
||
|
typedef const long baz; /* This is baz. */
|
||
|
|
||
|
|
||
|
static char *function(int _arg, const char *_arg2, struct foo *_arg3,
|
||
|
struct bar *_arg4);
|
||
|
static void usage(void);
|
||
|
|
||
|
/*
|
||
|
* All major routines should have a comment briefly describing what
|
||
|
* they do. The comment before the "main" routine should describe
|
||
|
* what the program does.
|
||
|
*/
|
||
|
int
|
||
|
main(int argc, char *argv[])
|
||
|
{
|
||
|
char *ep;
|
||
|
long num;
|
||
|
int ch;
|
||
|
|
||
|
while ((ch = getopt(argc, argv, "abNn:")) != -1)
|
||
|
{
|
||
|
switch (ch) /* Indent the switch. */
|
||
|
{
|
||
|
case 'a': /* Don't indent the case. */
|
||
|
aflag = 1; /* Indent case body one tab. */
|
||
|
|
||
|
/* FALLTHROUGH */
|
||
|
case 'b':
|
||
|
bflag = 1;
|
||
|
break;
|
||
|
|
||
|
case 'N':
|
||
|
Nflag = 1;
|
||
|
break;
|
||
|
|
||
|
case 'n':
|
||
|
num = strtol(optarg, &ep, 10);
|
||
|
if ((num <= 0) || (*ep != '\0')) {
|
||
|
warnx("illegal number, -n argument -- %s",
|
||
|
optarg);
|
||
|
usage();
|
||
|
}
|
||
|
break;
|
||
|
|
||
|
case '?':
|
||
|
default:
|
||
|
usage();
|
||
|
/* NOTREACHED */
|
||
|
}
|
||
|
}
|
||
|
argc -= optind;
|
||
|
argv += optind;
|
||
|
|
||
|
for (p = buf; *p != '\0'; ++p)
|
||
|
{
|
||
|
/* nothing */
|
||
|
}
|
||
|
for ( ; ; )
|
||
|
{
|
||
|
stmt;
|
||
|
}
|
||
|
for ( ; ; )
|
||
|
{
|
||
|
zed = a + really + long + statement + that + needs +
|
||
|
two + lines + gets + indented + four + spaces +
|
||
|
on + the + second + and + subsequent + lines;
|
||
|
}
|
||
|
for ( ; ; )
|
||
|
{
|
||
|
if (cond) {
|
||
|
stmt;
|
||
|
}
|
||
|
}
|
||
|
if (val != NULL) {
|
||
|
val = realloc(val, newsize);
|
||
|
}
|
||
|
|
||
|
fcn_call(with, a, really, long, list, of, parameters,
|
||
|
that, spans, two, lines);
|
||
|
|
||
|
for ( ; cnt < 15; cnt++)
|
||
|
{
|
||
|
stmt1;
|
||
|
stmt2;
|
||
|
}
|
||
|
|
||
|
almod = (chunk_is_single_line_comment(pc) &&
|
||
|
cpd.settings[UO_indent_relative_single_line_comments].b) ?
|
||
|
ALMODE_KEEP_REL : ALMODE_KEEP_ABS;
|
||
|
|
||
|
/* Indentation is an 8 character tab. Second level indents are four spaces.
|
||
|
* If you have to wrap a long statement, put the operator at the end of the
|
||
|
* line.
|
||
|
*/
|
||
|
|
||
|
while (cnt < 20 && this_variable_name_is_too_long &&
|
||
|
ep != NULL)
|
||
|
{
|
||
|
zappy = a + really + long + statement + that + needs +
|
||
|
two + lines + gets + indented + four + spaces +
|
||
|
on + the + second + and + subsequent + lines;
|
||
|
}
|
||
|
|
||
|
// Do not add whitespace at the end of a line, and only use tabs followed by
|
||
|
// spaces to form the indentation. Do not use more spaces than a tab will
|
||
|
// produce and do not use spaces in front of tabs.
|
||
|
//
|
||
|
// Closing and opening braces go on the same line as the else. Braces that
|
||
|
// are not necessary may be left out.
|
||
|
|
||
|
if (test) {
|
||
|
stmt;
|
||
|
} else if (bar) {
|
||
|
stmt;
|
||
|
stmt;
|
||
|
} else{
|
||
|
stmt;
|
||
|
}
|
||
|
|
||
|
// No spaces after function names. Commas have a space after them. No spa-
|
||
|
// ces after `(' or `[' or preceding `]' or `)' characters.
|
||
|
|
||
|
error = function(a1, a2);
|
||
|
if (error != 0) {
|
||
|
exit(error);
|
||
|
}
|
||
|
|
||
|
// Unary operators do not require spaces, binary operators do. Do not use
|
||
|
// parentheses unless they are required for precedence or unless the state-
|
||
|
// ment is confusing without them. Remember that other people may confuse
|
||
|
// easier than you. Do YOU understand the following?
|
||
|
|
||
|
a = b->c[0] + ~d == (e || f) || g && h ? i : j >> 1;
|
||
|
k = !(l & FLAGS);
|
||
|
|
||
|
|
||
|
// Exits should be 0 on success, or 1 on failure.
|
||
|
|
||
|
exit(0); /*
|
||
|
* Avoid obvious comments such as
|
||
|
* "Exit 0 on success."
|
||
|
*/
|
||
|
}
|
||
|
|
||
|
|
||
|
static char *
|
||
|
function(a1, a2, fl, a4)
|
||
|
int a1, a2; /* Declare ints, too, don't default them. */
|
||
|
|
||
|
float fl; /* Beware double vs. float prototype differences. */
|
||
|
int a4; /* List in order declared. */
|
||
|
{
|
||
|
}
|