summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Edward Rudd 2004-04-03 18:27:23 +0000
committerGravatar Edward Rudd 2004-04-03 18:27:23 +0000
commitbf387bc750caf37fe2cbe45a901161861fc50b01 (patch)
tree85d2e54ac072eb4804ff97da1efc441767e05911
parentd14dcc25d77a556940bcbb6feb71f0b6e67c2674 (diff)
Added gen_todo.pl to extract TODO items from source code.
-rw-r--r--Makefile.in3
-rw-r--r--TODO.in (renamed from TODO)19
-rwxr-xr-xgen_todo.pl41
3 files changed, 54 insertions, 9 deletions
diff --git a/Makefile.in b/Makefile.in
index 2789904..4061629 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -74,6 +74,9 @@ all-subdirs install-subdirs activate-subdirs clean-subdirs distclean-subdirs:
74 fi; \ 74 fi; \
75 done; 75 done;
76 76
77TODO: TODO.in
78 @./gen_todo.pl
79
77$(TARGET): $(SOURCES) $(HEADERS) 80$(TARGET): $(SOURCES) $(HEADERS)
78 @@APXS_BIN@ -c -o $(TARGET) $(INCLUDES) $(CFLAGS) \ 81 @@APXS_BIN@ -c -o $(TARGET) $(INCLUDES) $(CFLAGS) \
79 $(LDADD) @DEFS@ @APACHE_DEFS@ $(SOURCES) 82 $(LDADD) @DEFS@ @APACHE_DEFS@ $(SOURCES)
diff --git a/TODO b/TODO.in
index 75dacbe..c05a8c5 100644
--- a/TODO
+++ b/TODO.in
@@ -4,19 +4,20 @@ TODO:
4* Port connection portion to other DBMS? Genericize the module? Start with 4* Port connection portion to other DBMS? Genericize the module? Start with
5 PostgreSQL. (provider mechanism, and libDBI) 5 PostgreSQL. (provider mechanism, and libDBI)
6* does determining table name in massvirtual mode upon every request 6* does determining table name in massvirtual mode upon every request
7 cause performance degradation? If so fix. 7 cause performance degradation? If so fix. No other feasable way to fix this,
8 unless you cache, but then for large amounts of hosts, this can be a waste.
8* LogSQLRotateLogs directive with daily/monthly/weekly/etc. 9* LogSQLRotateLogs directive with daily/monthly/weekly/etc.
9* new format char: IP as bigint? ( not w/ ipV6 )
10* socket-based middleman daemon with configurable conns, or connect/disconnect. 10* socket-based middleman daemon with configurable conns, or connect/disconnect.
11 DBI connection pool when I switch to DBI. 11* DBI connection pool when I switch to DBI.
12* ignore by cookie 12* ignore by cookie
13* tools to import logs into SQL (waiting on permission from author)
14* Directive to yes/no create ancillary tables (or just access table)
15* break module into separate code files 13* break module into separate code files
14 SSL already separated.
16 separate DB implimentation into sub-modules via provider mechanism 15 separate DB implimentation into sub-modules via provider mechanism
17* convert documentation to docbook 16* investigate thread safety issues
18* add document building to Makefile.in 17 Use libmysqlclient_r for threaded MPM (or always?)
19* investigate thread safety issues (libmysqlclient_r) 18 Add thread locks if using standard mysqlclient
20 Add thread locks if using standard mysqlclient 19 Check locking issues with the preserve file?
21* rewrite main core logging function to optimize for speed. 20* rewrite main core logging function to optimize for speed.
22* Clean up table creation code. 21* Clean up table creation code.
22 support DB independent way of defining the tables
23-----
diff --git a/gen_todo.pl b/gen_todo.pl
new file mode 100755
index 0000000..d90d2b2
--- /dev/null
+++ b/gen_todo.pl
@@ -0,0 +1,41 @@
1#!/usr/bin/perl
2
3# Copyright 2003-2004 Edward Rudd
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17use strict;
18
19opendir(MYDIR, ".") or die "Unable to open directory";
20print "Building TODO file for source directory\n";
21
22open ( TODOFILE, "TODO.in");
23my $todo_header = do { local $/; <TODOFILE> };
24close (TODOFILE);
25open (TODOFILE, "> TODO");
26print TODOFILE $todo_header;
27print "Parsing...";
28while (my $entry = readdir(MYDIR)) {
29 next if (!($entry =~ /\.[ch]$/));
30 print "$entry...";
31 open(DAFILE, $entry) or die "Unable to open file";
32 my $linenumber = 0;
33 while (my $line = <DAFILE>) {
34 $linenumber ++;
35 next if (!($line =~ /\/\* TODO: (.*)\*\//));
36 print TODOFILE $entry.":".$linenumber.": ".$1."\n";
37 }
38 close(DAFILE);
39}
40print "\n";
41closedir(MYDIR);