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
42 HREF="http://www.privoxy.org"
44 >Privoxy Developers</A
51 >$Id: developer-manual.sgml,v 1.45 2002/05/19 23:01:54 hal9 Exp $<BR></P
61 > The developer manual gives the users information on how to help the developer
62 team. It provides guidance on coding, testing, documentation and other
66 > You can find the latest version of the this manual at <A
67 HREF="http://www.privoxy.org/developer-manual/"
69 >http://www.privoxy.org/developer-manual/</A
73 >the Contact section</A
75 on how to contact the developers.</P
90 HREF="introduction.html"
97 HREF="introduction.html#QUICKSTART"
98 >Quickstart to Privoxy Development</A
105 >The CVS Repository</A
111 HREF="cvs.html#CVSACCESS"
116 HREF="cvs.html#CVSCOMMIT"
117 >CVS Commit Guideline</A
121 HREF="cvs.html#CVSWHENASK"
122 >Discussing Changes First</A
128 HREF="documentation.html"
129 >Documentation Guidelines</A
135 HREF="documentation.html#SGML"
136 >Quickstart to Docbook and SGML</A
140 HREF="documentation.html#DOCSTYLE"
144 > Documentation Style</A
148 HREF="documentation.html#AEN209"
149 >Privoxy Custom Entities</A
156 >Coding Guidelines</A
162 HREF="coding.html#S1"
167 HREF="coding.html#S2"
174 HREF="coding.html#S3"
175 >Comment, Comment, Comment</A
179 HREF="coding.html#S4"
180 >Use blocks for comments</A
184 HREF="coding.html#S5"
185 >Keep Comments on their own line</A
189 HREF="coding.html#S6"
190 >Comment each logical step</A
194 HREF="coding.html#S7"
195 >Comment All Functions Thoroughly</A
199 HREF="coding.html#S8"
200 >Comment at the end of braces if the
201 content is more than one screen length</A
207 HREF="coding.html#S9"
208 >Naming Conventions</A
214 HREF="coding.html#S10"
219 HREF="coding.html#S11"
224 HREF="coding.html#S12"
225 >Header file prototypes</A
229 HREF="coding.html#S13"
230 >Enumerations, and #defines</A
234 HREF="coding.html#S14"
241 HREF="coding.html#S15"
248 HREF="coding.html#S16"
249 >Put braces on a line by themselves.</A
253 HREF="coding.html#S17"
254 >ALL control statements should have a
259 HREF="coding.html#S18"
260 >Do not belabor/blow-up boolean
265 HREF="coding.html#S19"
266 >Use white space freely because it is
271 HREF="coding.html#S20"
272 >Don't use white space around structure
277 HREF="coding.html#S21"
278 >Make the last brace of a function stand
283 HREF="coding.html#S22"
284 >Use 3 character indentions</A
290 HREF="coding.html#S23"
297 HREF="coding.html#S24"
298 >Initialize all variables</A
304 HREF="coding.html#S25"
311 HREF="coding.html#S26"
312 >Name functions that return a boolean as a
317 HREF="coding.html#S27"
318 >Always specify a return type for a
323 HREF="coding.html#S28"
324 >Minimize function calls when iterating by
329 HREF="coding.html#S29"
330 >Pass and Return by Const Reference</A
334 HREF="coding.html#S30"
335 >Pass and Return by Value</A
339 HREF="coding.html#S31"
340 >Names of include files</A
344 HREF="coding.html#S32"
345 >Provide multiple inclusion
350 HREF="coding.html#S33"
351 >Use `extern "C"` when appropriate</A
355 HREF="coding.html#S34"
356 >Where Possible, Use Forward Struct
357 Declaration Instead of Includes</A
363 HREF="coding.html#S35"
364 >General Coding Practices</A
370 HREF="coding.html#S36"
375 HREF="coding.html#S37"
376 >Provide a default case for all switch
381 HREF="coding.html#S38"
382 >Try to avoid falling through cases in a
387 HREF="coding.html#S39"
388 >Use 'long' or 'short' Instead of
393 HREF="coding.html#S40"
394 >Don't mix size_t and other types</A
398 HREF="coding.html#S41"
399 >Declare each variable and struct on its
404 HREF="coding.html#S42"
405 >Use malloc/zalloc sparingly</A
409 HREF="coding.html#S43"
410 >The Programmer Who Uses 'malloc' is
411 Responsible for Ensuring 'free'</A
415 HREF="coding.html#S44"
416 >Add loaders to the `file_list' structure
421 HREF="coding.html#S45"
422 >"Uncertain" new code and/or changes to
423 existing code, use FIXME</A
429 HREF="coding.html#S46"
430 >Addendum: Template for files and function
438 >Testing Guidelines</A
444 HREF="testing.html#TESTING-PLAN"
445 >Testplan for releases</A
449 HREF="testing.html#TESTING-REPORT"
456 HREF="newrelease.html"
457 >Releasing a New Version</A
463 HREF="newrelease.html#VERSIONNUMBERS"
468 HREF="newrelease.html#BEFORERELEASE"
469 >Before the Release: Freeze</A
473 HREF="newrelease.html#THERELEASE"
474 >Building and Releasing the Packages</A
480 HREF="newrelease.html#PACK-GUIDELINES"
481 >Note on Privoxy Packaging</A
485 HREF="newrelease.html#NEWRELEASE-TARBALL"
490 HREF="newrelease.html#NEWRELEASE-RPM"
491 >SuSE, Conectiva or Red Hat RPM</A
495 HREF="newrelease.html#NEWRELEASE-OS2"
500 HREF="newrelease.html#NEWRELEASE-SOLARIS"
505 HREF="newrelease.html#NEWRELEASE-WINDOWS"
510 HREF="newrelease.html#NEWRELEASE-DEBIAN"
515 HREF="newrelease.html#NEWRELEASE-MACOSX"
520 HREF="newrelease.html#NEWRELEASE-FREEBSD"
525 HREF="newrelease.html#NEWRELEASE-HPUX"
530 HREF="newrelease.html#NEWRELEASE-AMIGA"
535 HREF="newrelease.html#NEWRELEASE-AIX"
542 HREF="newrelease.html#RELEASING"
543 >Uploading and Releasing Your Package</A
547 HREF="newrelease.html#AFTERRELEASE"
548 >After the Release</A
554 HREF="webserver-update.html"
555 >Update the Webserver</A
560 >Contacting the developers, Bug Reporting and Feature Requests</A
566 HREF="contact.html#CONTACT-SUPPORT"
571 HREF="contact.html#CONTACT-BUGS"
576 HREF="contact.html#CONTACT-FEATURE"
577 >Request New Features</A
581 HREF="contact.html#CONTACT-ADS"
582 >Report Ads or Other Actions-Related Problems</A
586 HREF="contact.html#CONTACT-OTHER"
593 HREF="copyright.html"
594 >Privoxy Copyright, License and History</A
600 HREF="copyright.html#AEN1121"
605 HREF="copyright.html#AEN1137"
643 HREF="introduction.html"