diff --git a/doc/tools/code2doc b/doc/tools/code2doc index f5865b338..e572441d9 100755 --- a/doc/tools/code2doc +++ b/doc/tools/code2doc @@ -8,7 +8,7 @@ print "Usage: $0 [FILE]\n\tParses [FILE], outputing the result to [FILE].out.\n" my ($input) = @ARGV; my ($output) = $input . '.out'; -my ($found, $start); +my ($found, $start, $first); print "CopyleftŠ 2006, Russ Rowan (See `COPYING')\n" and exit if $input eq '-v'; open FILEIN, "<$input" or print "File `$input' was not found.\n" and exit; open FILEOUT, ">$output" or print "Cannot open $output for writing.\n" and exit; @@ -17,10 +17,11 @@ while () { if ($found) { - next if $_ =~ /^\s+\*\s$/; + if ($_ =~ /^\s+\*\s$/) { next if $first; $_ =~ s/\s\*// if not $first; } if ($_ =~ /^\s\*+\/$/ or $_ !~ /^\s/) { $found = undef; next; } $_ =~ s/^(\s*)\s\*\s/$1/; $found = 'sorta' if $_ =~ s/\s*\*\/$//; + $first = undef; } elsif ($_ =~ /^\s*\/\*\*\s(.*)/) { @@ -29,10 +30,11 @@ while () if ($_ =~ s/\s*\*\/$//) { $found = 'sorta'; } else { $found = $.; } my $dash; for (my $x = 0; $x < length($_); $x++) { $dash .= '-'; } $_ = "$_\n$dash\n"; + $first = 1; } - elsif ($_ =~ /\s*([A-Z0-9_]+),\s*\/\*::\s*(.*)\s*\*\/$/) + elsif ($_ =~ /\s*([A-Z0-9_]+),\s*\/\*::\s*(.*)\s+\*\/$/) { - $_ =~ s/\s*([A-Z0-9_]+),\s*\/\*::\s*(.*)\s*\*\/$/id[$1]::\n $2/; + $_ =~ s/\s*([A-Z0-9_]+),\s*\/\*::\s*(.*)\s+\*\/$/id[$1]::\n $2/; $found = 'sorta'; } next if not $found; $found = undef if $found eq 'sorta';