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.35 2002/04/17 15:16:15 oes Exp $<BR></P
65 > The developer manual gives the users information on how to help the developer
66 team. It provides guidance on coding, testing, documentation and other
70 > You can find the latest version of the this manual at <A
71 HREF="http://www.privoxy.org/developer-manual/"
73 >http://www.privoxy.org/developer-manual/</A
78 >the Contact section</A
80 on how to contact the developers.</P
95 HREF="index.html#INTRO"
100 HREF="introduction.html"
105 HREF="quickstart.html"
106 >Quickstart to Privoxy Development</A
111 >The CVS Repository</A
117 HREF="cvs.html#CVSACCESS"
122 HREF="cvs.html#CVSCOMMIT"
123 >CVS Commit Guideline</A
127 HREF="cvs.html#CVSWHENASK"
128 >Discussing Changes First</A
134 HREF="documentation.html"
135 >Documentation Guidelines</A
141 HREF="documentation.html#SGML"
142 >Quickstart to Docbook and SGML</A
146 HREF="documentation.html#DOCSTYLE"
150 > Documentation Style</A
154 HREF="documentation.html#AEN214"
155 >Privoxy Custom Entities</A
162 >Coding Guidelines</A
168 HREF="coding.html#S1"
173 HREF="coding.html#S2"
180 HREF="coding.html#S3"
181 >Comment, Comment, Comment</A
185 HREF="coding.html#S4"
186 >Use blocks for comments</A
190 HREF="coding.html#S5"
191 >Keep Comments on their own line</A
195 HREF="coding.html#S6"
196 >Comment each logical step</A
200 HREF="coding.html#S7"
201 >Comment All Functions Thoroughly</A
205 HREF="coding.html#S8"
206 >Comment at the end of braces if the
207 content is more than one screen length</A
213 HREF="coding.html#S9"
214 >Naming Conventions</A
220 HREF="coding.html#S10"
225 HREF="coding.html#S11"
230 HREF="coding.html#S12"
231 >Header file prototypes</A
235 HREF="coding.html#S13"
236 >Enumerations, and #defines</A
240 HREF="coding.html#S14"
247 HREF="coding.html#S15"
254 HREF="coding.html#S16"
255 >Put braces on a line by themselves.</A
259 HREF="coding.html#S17"
260 >ALL control statements should have a
265 HREF="coding.html#S18"
266 >Do not belabor/blow-up boolean
271 HREF="coding.html#S19"
272 >Use white space freely because it is
277 HREF="coding.html#S20"
278 >Don't use white space around structure
283 HREF="coding.html#S21"
284 >Make the last brace of a function stand
289 HREF="coding.html#S22"
290 >Use 3 character indentions</A
296 HREF="coding.html#S23"
303 HREF="coding.html#S24"
304 >Initialize all variables</A
310 HREF="coding.html#S25"
317 HREF="coding.html#S26"
318 >Name functions that return a boolean as a
323 HREF="coding.html#S27"
324 >Always specify a return type for a
329 HREF="coding.html#S28"
330 >Minimize function calls when iterating by
335 HREF="coding.html#S29"
336 >Pass and Return by Const Reference</A
340 HREF="coding.html#S30"
341 >Pass and Return by Value</A
345 HREF="coding.html#S31"
346 >Names of include files</A
350 HREF="coding.html#S32"
351 >Provide multiple inclusion
356 HREF="coding.html#S33"
357 >Use `extern "C"` when appropriate</A
361 HREF="coding.html#S34"
362 >Where Possible, Use Forward Struct
363 Declaration Instead of Includes</A
369 HREF="coding.html#S35"
370 >General Coding Practices</A
376 HREF="coding.html#S36"
381 HREF="coding.html#S37"
382 >Provide a default case for all switch
387 HREF="coding.html#S38"
388 >Try to avoid falling through cases in a
393 HREF="coding.html#S39"
394 >Use 'long' or 'short' Instead of
399 HREF="coding.html#S40"
400 >Don't mix size_t and other types</A
404 HREF="coding.html#S41"
405 >Declare each variable and struct on its
410 HREF="coding.html#S42"
411 >Use malloc/zalloc sparingly</A
415 HREF="coding.html#S43"
416 >The Programmer Who Uses 'malloc' is
417 Responsible for Ensuring 'free'</A
421 HREF="coding.html#S44"
422 >Add loaders to the `file_list' structure
427 HREF="coding.html#S45"
428 >"Uncertain" new code and/or changes to
429 existing code, use FIXME</A
435 HREF="coding.html#S46"
436 >Addendum: Template for files and function
444 >Testing Guidelines</A
450 HREF="testing.html#TESTING-PLAN"
451 >Testplan for releases</A
455 HREF="testing.html#TESTING-REPORT"
462 HREF="newrelease.html"
463 >Releasing a New Version</A
469 HREF="newrelease.html#BEFORERELEASE"
470 >Before the Release</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"
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#AFTERRELEASE"
539 >After the Release</A
545 HREF="webserver-update.html"
546 >Update the Webserver</A
551 >Contacting the developers, Bug Reporting and Feature Requests</A
555 HREF="copyright.html"
556 >Copyright and History</A
562 HREF="copyright.html#AEN987"
567 HREF="copyright.html#AEN994"
616 HREF="introduction.html"