4 >Privoxy Developer Manual</TITLE
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.64
11 HREF="introduction.html"><LINK
14 HREF="../p_doc.css"></HEAD
30 >Privoxy Developer Manual</A
47 >By: Privoxy Developers<BR></SPAN
52 >$Id: developer-manual.sgml,v 1.38 2002/04/29 02:20:31 hal9 Exp $<BR></P
62 > The developer manual gives the users information on how to help the developer
63 team. It provides guidance on coding, testing, documentation and other
67 > You can find the latest version of the this manual at <A
68 HREF="http://www.privoxy.org/developer-manual/"
70 >http://www.privoxy.org/developer-manual/</A
75 >the Contact section</A
77 on how to contact the developers.</P
92 HREF="index.html#INTRO"
97 HREF="introduction.html"
102 HREF="quickstart.html"
103 >Quickstart to Privoxy Development</A
108 >The CVS Repository</A
114 HREF="cvs.html#CVSACCESS"
119 HREF="cvs.html#CVSCOMMIT"
120 >CVS Commit Guideline</A
124 HREF="cvs.html#CVSWHENASK"
125 >Discussing Changes First</A
131 HREF="documentation.html"
132 >Documentation Guidelines</A
138 HREF="documentation.html#SGML"
139 >Quickstart to Docbook and SGML</A
143 HREF="documentation.html#DOCSTYLE"
147 > Documentation Style</A
151 HREF="documentation.html#AEN212"
152 >Privoxy Custom Entities</A
159 >Coding Guidelines</A
165 HREF="coding.html#S1"
170 HREF="coding.html#S2"
177 HREF="coding.html#S3"
178 >Comment, Comment, Comment</A
182 HREF="coding.html#S4"
183 >Use blocks for comments</A
187 HREF="coding.html#S5"
188 >Keep Comments on their own line</A
192 HREF="coding.html#S6"
193 >Comment each logical step</A
197 HREF="coding.html#S7"
198 >Comment All Functions Thoroughly</A
202 HREF="coding.html#S8"
203 >Comment at the end of braces if the
204 content is more than one screen length</A
210 HREF="coding.html#S9"
211 >Naming Conventions</A
217 HREF="coding.html#S10"
222 HREF="coding.html#S11"
227 HREF="coding.html#S12"
228 >Header file prototypes</A
232 HREF="coding.html#S13"
233 >Enumerations, and #defines</A
237 HREF="coding.html#S14"
244 HREF="coding.html#S15"
251 HREF="coding.html#S16"
252 >Put braces on a line by themselves.</A
256 HREF="coding.html#S17"
257 >ALL control statements should have a
262 HREF="coding.html#S18"
263 >Do not belabor/blow-up boolean
268 HREF="coding.html#S19"
269 >Use white space freely because it is
274 HREF="coding.html#S20"
275 >Don't use white space around structure
280 HREF="coding.html#S21"
281 >Make the last brace of a function stand
286 HREF="coding.html#S22"
287 >Use 3 character indentions</A
293 HREF="coding.html#S23"
300 HREF="coding.html#S24"
301 >Initialize all variables</A
307 HREF="coding.html#S25"
314 HREF="coding.html#S26"
315 >Name functions that return a boolean as a
320 HREF="coding.html#S27"
321 >Always specify a return type for a
326 HREF="coding.html#S28"
327 >Minimize function calls when iterating by
332 HREF="coding.html#S29"
333 >Pass and Return by Const Reference</A
337 HREF="coding.html#S30"
338 >Pass and Return by Value</A
342 HREF="coding.html#S31"
343 >Names of include files</A
347 HREF="coding.html#S32"
348 >Provide multiple inclusion
353 HREF="coding.html#S33"
354 >Use `extern "C"` when appropriate</A
358 HREF="coding.html#S34"
359 >Where Possible, Use Forward Struct
360 Declaration Instead of Includes</A
366 HREF="coding.html#S35"
367 >General Coding Practices</A
373 HREF="coding.html#S36"
378 HREF="coding.html#S37"
379 >Provide a default case for all switch
384 HREF="coding.html#S38"
385 >Try to avoid falling through cases in a
390 HREF="coding.html#S39"
391 >Use 'long' or 'short' Instead of
396 HREF="coding.html#S40"
397 >Don't mix size_t and other types</A
401 HREF="coding.html#S41"
402 >Declare each variable and struct on its
407 HREF="coding.html#S42"
408 >Use malloc/zalloc sparingly</A
412 HREF="coding.html#S43"
413 >The Programmer Who Uses 'malloc' is
414 Responsible for Ensuring 'free'</A
418 HREF="coding.html#S44"
419 >Add loaders to the `file_list' structure
424 HREF="coding.html#S45"
425 >"Uncertain" new code and/or changes to
426 existing code, use FIXME</A
432 HREF="coding.html#S46"
433 >Addendum: Template for files and function
441 >Testing Guidelines</A
447 HREF="testing.html#TESTING-PLAN"
448 >Testplan for releases</A
452 HREF="testing.html#TESTING-REPORT"
459 HREF="newrelease.html"
460 >Releasing a New Version</A
466 HREF="newrelease.html#BEFORERELEASE"
467 >Before the Release</A
471 HREF="newrelease.html#THERELEASE"
472 >Building and Releasing the Packages</A
478 HREF="newrelease.html#NEWRELEASE-TARBALL"
483 HREF="newrelease.html#NEWRELEASE-RPM"
488 HREF="newrelease.html#NEWRELEASE-OS2"
493 HREF="newrelease.html#NEWRELEASE-SOLARIS"
498 HREF="newrelease.html#NEWRELEASE-WINDOWS"
503 HREF="newrelease.html#NEWRELEASE-DEBIAN"
508 HREF="newrelease.html#NEWRELEASE-MACOSX"
513 HREF="newrelease.html#NEWRELEASE-FREEBSD"
518 HREF="newrelease.html#NEWRELEASE-HPUX"
523 HREF="newrelease.html#NEWRELEASE-AMIGA"
528 HREF="newrelease.html#NEWRELEASE-AIX"
535 HREF="newrelease.html#RELEASING"
536 >Uploading and Releasing Your Package</A
540 HREF="newrelease.html#AFTERRELEASE"
541 >After the Release</A
547 HREF="webserver-update.html"
548 >Update the Webserver</A
553 >Contacting the developers, Bug Reporting and Feature Requests</A
559 HREF="contact.html#CONTACT-SUPPORT"
564 HREF="contact.html#CONTACT-BUGS"
569 HREF="contact.html#CONTACT-FEATURE"
570 >Request new features</A
574 HREF="contact.html#CONTACT-ADS"
575 >Report ads or other filter problems</A
579 HREF="contact.html#CONTACT-OTHER"
586 HREF="copyright.html"
587 >Copyright and History</A
593 HREF="copyright.html#AEN1022"
598 HREF="copyright.html#AEN1029"
647 HREF="introduction.html"