mirror of
https://github.com/smaugmuds/SmaugFUSS
synced 2026-08-12 12:23:07 -04:00
62 lines
2.2 KiB
Text
Executable file
62 lines
2.2 KiB
Text
Executable file
# count lines in a C program, not counting comments, blank lines or
|
|
# form feeds
|
|
# does separate count of preprocessor directives
|
|
# if a preprocessor directive is commented out, it does not count
|
|
#
|
|
# By: Dan Kozak
|
|
# Updated By Darien Of Sandstorm Mud
|
|
# Now counts commented lines, (as seperate lines)
|
|
# Aswell as white-space to help locate issue area's.
|
|
|
|
{
|
|
if (file == "") {
|
|
file = FILENAME
|
|
}
|
|
if (file != FILENAME) {
|
|
printf("Number of lines in %s is: %d\n",file,nl+ppd)
|
|
printf("Number of comment Lines in file: %d\n", comment)
|
|
printf("Number of white space in file: %d\n", whitespace)
|
|
printf("Number of preprocessor directives is: %d\n",ppd)
|
|
printf("Number of lines excluding preprocessor directives is: %d\n",nl)
|
|
|
|
printf("---------------------------------------------------------------------------------------\n\n")
|
|
|
|
file = FILENAME
|
|
tnl += nl
|
|
tppd += ppd
|
|
tcomment += comment
|
|
twhitespace += whitespace
|
|
nl = 0
|
|
ppd = 0
|
|
comment = 0
|
|
whitespace = 0
|
|
}
|
|
|
|
if ($0 == "") { whitespace++ }
|
|
else if ($1 ~ /^\/\*/ && $NF ~ /\*\/$/) { ; }
|
|
else if ($0 ~ /\/\*/ && $0 !~ /\*\//) { in_comment = 1 }
|
|
else if ($0 !~ /\/\*/ && $0 ~ /\*\//) { in_comment = 0 }
|
|
else if (in_comment) { comment++ }
|
|
else if ($1 ~ /^#/) { ppd++ }
|
|
else { nl++ }
|
|
}
|
|
|
|
END { printf("Number of lines in %s is: %d\n",file,nl+ppd)
|
|
printf("Number of comments in file: %d\n", comment)
|
|
printf("Number of whitespace in file: %d\n", whitespace)
|
|
printf("Number of preprocessor directives is: %d\n",ppd)
|
|
printf("Number of lines excluding preprocessor directives is: %d\n\n",nl)
|
|
file = FILENAME
|
|
tnl += nl
|
|
tppd += ppd
|
|
tcomment += comment
|
|
twhitespace += whitespace
|
|
|
|
printf("---------------------------------------------------------------------------------------\n")
|
|
printf("Total number of lines is: %d\n",tnl+tppd)
|
|
printf("Total Number of preprocessor directives is: %d\n",tppd)
|
|
printf("Total Number of comments: %d\n", tcomment)
|
|
printf("Total number of whitespace lines: %d\n", twhitespace)
|
|
printf("Total Number of lines excluding preprocessor directives is: %d\n",tnl)
|
|
printf("---------------------------------------------------------------------------------------\n")
|
|
}
|