X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=doc%2Fwebserver%2Fdeveloper-manual%2Findex.html;h=9204a167749bcad481c140197f8666c8cd423734;hp=53d4433533bca335c60c6dfbd3166952fdfb7a67;hb=51dd3416173631d3cdbd51bd35d8cf6a349e13c2;hpb=c5aed82a9a4d52c7f44885058167a6e402815226
diff --git a/doc/webserver/developer-manual/index.html b/doc/webserver/developer-manual/index.html
index 53d44335..9204a167 100644
--- a/doc/webserver/developer-manual/index.html
+++ b/doc/webserver/developer-manual/index.html
@@ -4,7 +4,7 @@
>Privoxy Developer ManualPrivoxy Developer Manual
Privoxy Developer Manual$Id: developer-manual.sgml,v 1.38 2002/04/29 02:20:31 hal9 Exp $
+
+ Copyright © 2001-2006 by
+ Privoxy Developers
+
+ $Id: developer-manual.sgml,v 2.11 2006/09/26 02:36:29 hal9 Exp $
The developer manual gives the users information on how to help the developer
- team. It provides guidance on coding, testing, documentation and other
- issues.
-
The developer manual provides guidance on coding, testing, packaging, documentation
+ and other issues of importance to those involved with
+
Privoxy development. It is mandatory (and helpful!) reading
+ for anyone who wants to join the team.
You can find the latest version of the this manual at Please note that this document is constantly evolving. This copy represents
+ the state at the release of version 3.0.6.
+ You can find the latest version of the this manual at http://www.privoxy.org/developer-manual/ .
Please see the Contact section
on how to contact the developers.
Table of Contents
1. Introduction 3. 1.1. Quickstart to Privoxy Development 4. 2. The CVS Repository 4.1. 2.1. Access to CVS 4.2. CVS Commit Guideline 2.2. Branches 4.3. Discussing Changes First 2.3. CVS Commit Guidelines 5. 3. Documentation Guidelines 5.1. 3.1. Quickstart to Docbook and SGML 5.2. 3.2. Documentation Style 5.3. 3.3. Privoxy Custom Entities 6. 4. Coding Guidelines 6.1. 4.1. Introduction 6.2. 4.2. Using Comments 6.2.1. 4.2.1. Comment, Comment, Comment 6.2.2. 4.2.2. Use blocks for comments 6.2.3. 4.2.3. Keep Comments on their own line 6.2.4. 4.2.4. Comment each logical step 6.2.5. 4.2.5. Comment All Functions Thoroughly 6.2.6. 4.2.6. Comment at the end of braces if the
content is more than one screen length 6.3. 4.3. Naming Conventions 6.3.1. 4.3.1. Variable Names 6.3.2. 4.3.2. Function Names 6.3.3. 4.3.3. Header file prototypes 6.3.4. 4.3.4. Enumerations, and #defines 6.3.5. 4.3.5. Constants 6.4. 4.4. Using Space 6.4.1. 4.4.1. Put braces on a line by themselves. 6.4.2. 4.4.2. ALL control statements should have a
block 6.4.3. 4.4.3. Do not belabor/blow-up boolean
expressions 6.4.4. 4.4.4. Use white space freely because it is
free 6.4.5. 4.4.5. Don't use white space around structure
operators 6.4.6. 4.4.6. Make the last brace of a function stand
out 6.4.7. 4.4.7. Use 3 character indentions 6.5. 4.5. Initializing 6.5.1. 4.5.1. Initialize all variables 6.6. 4.6. Functions 6.6.1. 4.6.1. Name functions that return a boolean as a
question. 6.6.2. 4.6.2. Always specify a return type for a
function. 6.6.3. 4.6.3. Minimize function calls when iterating by
using variables 6.6.4. 4.6.4. Pass and Return by Const Reference 6.6.5. 4.6.5. Pass and Return by Value 6.6.6. 4.6.6. Names of include files 6.6.7. 4.6.7. Provide multiple inclusion
protection 6.6.8. 4.6.8. Use `extern "C"` when appropriate 6.6.9. 4.6.9. Where Possible, Use Forward Struct
Declaration Instead of Includes 6.7. 4.7. General Coding Practices 6.7.1. 4.7.1. Turn on warnings 6.7.2. 4.7.2. Provide a default case for all switch
statements 6.7.3. 4.7.3. Try to avoid falling through cases in a
switch statement. 6.7.4. 4.7.4. Use 'long' or 'short' Instead of
'int' 6.7.5. 4.7.5. Don't mix size_t and other types 6.7.6. 4.7.6. Declare each variable and struct on its
own line. 6.7.7. 4.7.7. Use malloc/zalloc sparingly 6.7.8. 4.7.8. The Programmer Who Uses 'malloc' is
Responsible for Ensuring 'free' 6.7.9. 4.7.9. Add loaders to the `file_list' structure
and in order 6.7.10. 4.7.10. "Uncertain" new code and/or changes to
existing code, use FIXME 6.8. 4.8. Addendum: Template for files and function
comment blocks: 7. 5. Testing Guidelines 7.1. 5.1. Testplan for releases 7.2. 5.2. Test reports 8. 6. Releasing a New Version 8.1. 6.1. Version numbers 6.2. Before the Release Before the Release: Freeze 8.2. 6.3. Building and Releasing the Packages 8.2.1. 6.3.1. Note on Privoxy Packaging 6.3.2. Source Tarball 8.2.2. 6.3.3. SuSE or Red Hat SuSE, Conectiva or Red Hat RPM 8.2.3. 6.3.4. OS/2 8.2.4. 6.3.5. Solaris 8.2.5. 6.3.6. Windows 8.2.6. 6.3.7. Debian 8.2.7. 6.3.8. Mac OSX 8.2.8. 6.3.9. FreeBSD 8.2.9. 6.3.10. HP-UX 11 8.2.10. 6.3.11. Amiga OS 8.2.11. 6.3.12. AIX 8.3. 6.4. Uploading and Releasing Your Package 8.4. 6.5. After the Release 9. 7. Update the Webserver 10. 8. Contacting the developers, Bug Reporting and Feature Requests 10.1. 8.1. Get Support 10.2. Report bugs 8.2. Reporting Problems 10.3. Request new features 8.2.1. Reporting Ads or Other Configuration Problems 10.4. Report ads or other filter problems 8.2.2. Reporting Bugs 8.3. Request New Features 10.5. 8.4. Other 11. 9. Copyright and History Privoxy Copyright, License and History 11.1. Copyright 9.1. License 11.2. 9.2. History 12. 10. See also