From bf387bc750caf37fe2cbe45a901161861fc50b01 Mon Sep 17 00:00:00 2001 From: Edward Rudd Date: Sat, 03 Apr 2004 18:27:23 +0000 Subject: Added gen_todo.pl to extract TODO items from source code. --- 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: fi; \ done; +TODO: TODO.in + @./gen_todo.pl + $(TARGET): $(SOURCES) $(HEADERS) @@APXS_BIN@ -c -o $(TARGET) $(INCLUDES) $(CFLAGS) \ $(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: * Port connection portion to other DBMS? Genericize the module? Start with PostgreSQL. (provider mechanism, and libDBI) * does determining table name in massvirtual mode upon every request - cause performance degradation? If so fix. + cause performance degradation? If so fix. No other feasable way to fix this, + unless you cache, but then for large amounts of hosts, this can be a waste. * LogSQLRotateLogs directive with daily/monthly/weekly/etc. -* new format char: IP as bigint? ( not w/ ipV6 ) * socket-based middleman daemon with configurable conns, or connect/disconnect. - DBI connection pool when I switch to DBI. +* DBI connection pool when I switch to DBI. * ignore by cookie -* tools to import logs into SQL (waiting on permission from author) -* Directive to yes/no create ancillary tables (or just access table) * break module into separate code files + SSL already separated. separate DB implimentation into sub-modules via provider mechanism -* convert documentation to docbook -* add document building to Makefile.in -* investigate thread safety issues (libmysqlclient_r) - Add thread locks if using standard mysqlclient +* investigate thread safety issues + Use libmysqlclient_r for threaded MPM (or always?) + Add thread locks if using standard mysqlclient + Check locking issues with the preserve file? * rewrite main core logging function to optimize for speed. * Clean up table creation code. + support DB independent way of defining the tables +----- 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 @@ +#!/usr/bin/perl + +# Copyright 2003-2004 Edward Rudd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +use strict; + +opendir(MYDIR, ".") or die "Unable to open directory"; +print "Building TODO file for source directory\n"; + +open ( TODOFILE, "TODO.in"); +my $todo_header = do { local $/; }; +close (TODOFILE); +open (TODOFILE, "> TODO"); +print TODOFILE $todo_header; +print "Parsing..."; +while (my $entry = readdir(MYDIR)) { + next if (!($entry =~ /\.[ch]$/)); + print "$entry..."; + open(DAFILE, $entry) or die "Unable to open file"; + my $linenumber = 0; + while (my $line = ) { + $linenumber ++; + next if (!($line =~ /\/\* TODO: (.*)\*\//)); + print TODOFILE $entry.":".$linenumber.": ".$1."\n"; + } + close(DAFILE); +} +print "\n"; +closedir(MYDIR); -- cgit v0.9.2