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.42 2002/05/05 20:26:02 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
74 >the Contact section</A
76 on how to contact the developers.</P
91 HREF="introduction.html"
98 HREF="introduction.html#QUICKSTART"
99 >Quickstart to Privoxy Development</A
106 >The CVS Repository</A
112 HREF="cvs.html#CVSACCESS"
117 HREF="cvs.html#CVSCOMMIT"
118 >CVS Commit Guideline</A
122 HREF="cvs.html#CVSWHENASK"
123 >Discussing Changes First</A
129 HREF="documentation.html"
130 >Documentation Guidelines</A
136 HREF="documentation.html#SGML"
137 >Quickstart to Docbook and SGML</A
141 HREF="documentation.html#DOCSTYLE"
145 > Documentation Style</A
149 HREF="documentation.html#AEN209"
150 >Privoxy Custom Entities</A
157 >Coding Guidelines</A
163 HREF="coding.html#S1"
168 HREF="coding.html#S2"
175 HREF="coding.html#S3"
176 >Comment, Comment, Comment</A
180 HREF="coding.html#S4"
181 >Use blocks for comments</A
185 HREF="coding.html#S5"
186 >Keep Comments on their own line</A
190 HREF="coding.html#S6"
191 >Comment each logical step</A
195 HREF="coding.html#S7"
196 >Comment All Functions Thoroughly</A
200 HREF="coding.html#S8"
201 >Comment at the end of braces if the
202 content is more than one screen length</A
208 HREF="coding.html#S9"
209 >Naming Conventions</A
215 HREF="coding.html#S10"
220 HREF="coding.html#S11"
225 HREF="coding.html#S12"
226 >Header file prototypes</A
230 HREF="coding.html#S13"
231 >Enumerations, and #defines</A
235 HREF="coding.html#S14"
242 HREF="coding.html#S15"
249 HREF="coding.html#S16"
250 >Put braces on a line by themselves.</A
254 HREF="coding.html#S17"
255 >ALL control statements should have a
260 HREF="coding.html#S18"
261 >Do not belabor/blow-up boolean
266 HREF="coding.html#S19"
267 >Use white space freely because it is
272 HREF="coding.html#S20"
273 >Don't use white space around structure
278 HREF="coding.html#S21"
279 >Make the last brace of a function stand
284 HREF="coding.html#S22"
285 >Use 3 character indentions</A
291 HREF="coding.html#S23"
298 HREF="coding.html#S24"
299 >Initialize all variables</A
305 HREF="coding.html#S25"
312 HREF="coding.html#S26"
313 >Name functions that return a boolean as a
318 HREF="coding.html#S27"
319 >Always specify a return type for a
324 HREF="coding.html#S28"
325 >Minimize function calls when iterating by
330 HREF="coding.html#S29"
331 >Pass and Return by Const Reference</A
335 HREF="coding.html#S30"
336 >Pass and Return by Value</A
340 HREF="coding.html#S31"
341 >Names of include files</A
345 HREF="coding.html#S32"
346 >Provide multiple inclusion
351 HREF="coding.html#S33"
352 >Use `extern "C"` when appropriate</A
356 HREF="coding.html#S34"
357 >Where Possible, Use Forward Struct
358 Declaration Instead of Includes</A
364 HREF="coding.html#S35"
365 >General Coding Practices</A
371 HREF="coding.html#S36"
376 HREF="coding.html#S37"
377 >Provide a default case for all switch
382 HREF="coding.html#S38"
383 >Try to avoid falling through cases in a
388 HREF="coding.html#S39"
389 >Use 'long' or 'short' Instead of
394 HREF="coding.html#S40"
395 >Don't mix size_t and other types</A
399 HREF="coding.html#S41"
400 >Declare each variable and struct on its
405 HREF="coding.html#S42"
406 >Use malloc/zalloc sparingly</A
410 HREF="coding.html#S43"
411 >The Programmer Who Uses 'malloc' is
412 Responsible for Ensuring 'free'</A
416 HREF="coding.html#S44"
417 >Add loaders to the `file_list' structure
422 HREF="coding.html#S45"
423 >"Uncertain" new code and/or changes to
424 existing code, use FIXME</A
430 HREF="coding.html#S46"
431 >Addendum: Template for files and function
439 >Testing Guidelines</A
445 HREF="testing.html#TESTING-PLAN"
446 >Testplan for releases</A
450 HREF="testing.html#TESTING-REPORT"
457 HREF="newrelease.html"
458 >Releasing a New Version</A
464 HREF="newrelease.html#VERSIONNUMBERS"
469 HREF="newrelease.html#BEFORERELEASE"
470 >Before the Release: Freeze</A
474 HREF="newrelease.html#THERELEASE"
475 >Building and Releasing the Packages</A
481 HREF="newrelease.html#NEWRELEASE-TARBALL"
486 HREF="newrelease.html#NEWRELEASE-RPM"
487 >SuSE or Red Hat RPM</A
491 HREF="newrelease.html#NEWRELEASE-OS2"
496 HREF="newrelease.html#NEWRELEASE-SOLARIS"
501 HREF="newrelease.html#NEWRELEASE-WINDOWS"
506 HREF="newrelease.html#NEWRELEASE-DEBIAN"
511 HREF="newrelease.html#NEWRELEASE-MACOSX"
516 HREF="newrelease.html#NEWRELEASE-FREEBSD"
521 HREF="newrelease.html#NEWRELEASE-HPUX"
526 HREF="newrelease.html#NEWRELEASE-AMIGA"
531 HREF="newrelease.html#NEWRELEASE-AIX"
538 HREF="newrelease.html#RELEASING"
539 >Uploading and Releasing Your Package</A
543 HREF="newrelease.html#AFTERRELEASE"
544 >After the Release</A
550 HREF="webserver-update.html"
551 >Update the Webserver</A
556 >Contacting the developers, Bug Reporting and Feature Requests</A
562 HREF="contact.html#CONTACT-SUPPORT"
567 HREF="contact.html#CONTACT-BUGS"
572 HREF="contact.html#CONTACT-FEATURE"
573 >Request new features</A
577 HREF="contact.html#CONTACT-ADS"
578 >Report ads or other filter problems</A
582 HREF="contact.html#CONTACT-OTHER"
589 HREF="copyright.html"
590 >Privoxy Copyright, License and History</A
596 HREF="copyright.html#AEN1061"
601 HREF="copyright.html#AEN1077"
639 HREF="introduction.html"