Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-updates > by-pkgid > caead09f71a057684f628a1f930dd384 > files > 66

privoxy-3.0.32-1.mga7.armv7hl.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>Privoxy Developer Manual</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="NEXT"
TITLE="Introduction"
HREF="introduction.html"><LINK
REL="STYLESHEET"
TYPE="text/css"
HREF="../p_doc.css"><META
HTTP-EQUIV="Content-Type"
CONTENT="text/html;
charset=ISO-8859-1"></HEAD
><BODY
CLASS="ARTICLE"
BGCOLOR="#EEEEEE"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="ARTICLE"
><DIV
CLASS="TITLEPAGE"
><H1
CLASS="TITLE"
><A
NAME="AEN2"
>Privoxy Developer Manual</A
></H1
><P
CLASS="PUBDATE"
>     <SUB
>    
    
      <A
HREF="https://www.privoxy.org/user-manual/copyright.html"
TARGET="_top"
>Copyright</A
>
      &copy; 2001-2021 by
      <A
HREF="https://www.privoxy.org/"
TARGET="_top"
>Privoxy Developers</A
>
     </SUB
>
    <BR></P
><DIV
><DIV
CLASS="ABSTRACT"
><P
></P
><A
NAME="AEN8"
></A
><P
> The developer manual provides guidance on coding, testing, packaging, documentation
 and other issues of importance to those involved with
 <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> development. It is mandatory (and helpful!) reading
 for anyone who wants to join the team. Note that it's currently out of date
 and may not be entirely correct. As always, patches are welcome.</P
><P
> Please note that this document is constantly evolving. This copy represents
 the state at the release of version 3.0.32.
 You can find the latest version of the this manual at <A
HREF="https://www.privoxy.org/developer-manual/"
TARGET="_top"
>https://www.privoxy.org/developer-manual/</A
>.
 Please have a look at the
 <A
HREF="https://www.privoxy.org/user-manual/contact.html"
TARGET="_top"
>contact section in the user manual</A
>
 if you are interested in contacting the developers.</P
><P
></P
></DIV
></DIV
><HR></DIV
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
>1. <A
HREF="introduction.html"
>Introduction</A
></DT
><DD
><DL
><DT
>1.1. <A
HREF="introduction.html#QUICKSTART"
>Quickstart to Privoxy Development</A
></DT
></DL
></DD
><DT
>2. <A
HREF="git.html"
>The Git Repository</A
></DT
><DD
><DL
><DT
>2.1. <A
HREF="git.html#GITACCESS"
>Access to Git</A
></DT
><DT
>2.2. <A
HREF="git.html#GITBRANCHES"
>Branches</A
></DT
><DT
>2.3. <A
HREF="git.html#GITCOMMIT"
>Git Commit Guidelines</A
></DT
></DL
></DD
><DT
>3. <A
HREF="documentation.html"
>Documentation Guidelines</A
></DT
><DD
><DL
><DT
>3.1. <A
HREF="documentation.html#SGML"
>Quickstart to Docbook and SGML</A
></DT
><DT
>3.2. <A
HREF="documentation.html#DOCSTYLE"
><SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> Documentation Style</A
></DT
><DT
>3.3. <A
HREF="documentation.html#CUSTOM-ENTITIES"
>Privoxy Custom Entities</A
></DT
></DL
></DD
><DT
>4. <A
HREF="coding.html"
>Coding Guidelines</A
></DT
><DD
><DL
><DT
>4.1. <A
HREF="coding.html#S1"
>Introduction</A
></DT
><DT
>4.2. <A
HREF="coding.html#S2"
>Using Comments</A
></DT
><DD
><DL
><DT
>4.2.1. <A
HREF="coding.html#S3"
>Comment, Comment, Comment</A
></DT
><DT
>4.2.2. <A
HREF="coding.html#S4"
>Use blocks for comments</A
></DT
><DT
>4.2.3. <A
HREF="coding.html#S5"
>Keep Comments on their own line</A
></DT
><DT
>4.2.4. <A
HREF="coding.html#S6"
>Comment each logical step</A
></DT
><DT
>4.2.5. <A
HREF="coding.html#S7"
>Comment All Functions Thoroughly</A
></DT
><DT
>4.2.6. <A
HREF="coding.html#S8"
>Comment at the end of braces if the
    content is more than one screen length</A
></DT
></DL
></DD
><DT
>4.3. <A
HREF="coding.html#S9"
>Naming Conventions</A
></DT
><DD
><DL
><DT
>4.3.1. <A
HREF="coding.html#S10"
>Variable Names</A
></DT
><DT
>4.3.2. <A
HREF="coding.html#S11"
>Function Names</A
></DT
><DT
>4.3.3. <A
HREF="coding.html#S12"
>Header file prototypes</A
></DT
><DT
>4.3.4. <A
HREF="coding.html#S13"
>Enumerations, and #defines</A
></DT
><DT
>4.3.5. <A
HREF="coding.html#S14"
>Constants</A
></DT
></DL
></DD
><DT
>4.4. <A
HREF="coding.html#S15"
>Using Space</A
></DT
><DD
><DL
><DT
>4.4.1. <A
HREF="coding.html#S16"
>Put braces on a line by themselves.</A
></DT
><DT
>4.4.2. <A
HREF="coding.html#S17"
>ALL control statements should have a
    block</A
></DT
><DT
>4.4.3. <A
HREF="coding.html#S18"
>Do not belabor/blow-up boolean
    expressions</A
></DT
><DT
>4.4.4. <A
HREF="coding.html#S19"
>Use white space freely because it is
    free</A
></DT
><DT
>4.4.5. <A
HREF="coding.html#S20"
>Don't use white space around structure
    operators</A
></DT
><DT
>4.4.6. <A
HREF="coding.html#S21"
>Make the last brace of a function stand
    out</A
></DT
><DT
>4.4.7. <A
HREF="coding.html#S22"
>Use 3 character indentions</A
></DT
></DL
></DD
><DT
>4.5. <A
HREF="coding.html#S23"
>Initializing</A
></DT
><DD
><DL
><DT
>4.5.1. <A
HREF="coding.html#S24"
>Initialize all variables</A
></DT
></DL
></DD
><DT
>4.6. <A
HREF="coding.html#S25"
>Functions</A
></DT
><DD
><DL
><DT
>4.6.1. <A
HREF="coding.html#S26"
>Name functions that return a boolean as a
    question.</A
></DT
><DT
>4.6.2. <A
HREF="coding.html#S27"
>Always specify a return type for a
    function.</A
></DT
><DT
>4.6.3. <A
HREF="coding.html#S28"
>Minimize function calls when iterating by
    using variables</A
></DT
><DT
>4.6.4. <A
HREF="coding.html#S29"
>Pass and Return by Const Reference</A
></DT
><DT
>4.6.5. <A
HREF="coding.html#S30"
>Pass and Return by Value</A
></DT
><DT
>4.6.6. <A
HREF="coding.html#S31"
>Names of include files</A
></DT
><DT
>4.6.7. <A
HREF="coding.html#S32"
>Provide multiple inclusion
    protection</A
></DT
><DT
>4.6.8. <A
HREF="coding.html#S33"
>Use `extern "C"` when appropriate</A
></DT
><DT
>4.6.9. <A
HREF="coding.html#S34"
>Where Possible, Use Forward Struct
    Declaration Instead of Includes</A
></DT
></DL
></DD
><DT
>4.7. <A
HREF="coding.html#S35"
>General Coding Practices</A
></DT
><DD
><DL
><DT
>4.7.1. <A
HREF="coding.html#S36"
>Turn on warnings</A
></DT
><DT
>4.7.2. <A
HREF="coding.html#S37"
>Provide a default case for all switch
    statements</A
></DT
><DT
>4.7.3. <A
HREF="coding.html#S38"
>Try to avoid falling through cases in a
    switch statement.</A
></DT
><DT
>4.7.4. <A
HREF="coding.html#S40"
>Don't mix size_t and other types</A
></DT
><DT
>4.7.5. <A
HREF="coding.html#S41"
>Declare each variable and struct on its
    own line.</A
></DT
><DT
>4.7.6. <A
HREF="coding.html#S42"
>Use malloc/zalloc sparingly</A
></DT
><DT
>4.7.7. <A
HREF="coding.html#S43"
>The Programmer Who Uses 'malloc' is
    Responsible for Ensuring 'free'</A
></DT
><DT
>4.7.8. <A
HREF="coding.html#S44"
>Add loaders to the `file_list' structure
    and in order</A
></DT
><DT
>4.7.9. <A
HREF="coding.html#S45"
>"Uncertain" new code and/or changes to
    existing code, use XXX</A
></DT
></DL
></DD
><DT
>4.8. <A
HREF="coding.html#S46"
>Addendum: Template for files and function
    comment blocks:</A
></DT
></DL
></DD
><DT
>5. <A
HREF="testing.html"
>Testing Guidelines</A
></DT
><DD
><DL
><DT
>5.1. <A
HREF="testing.html#TESTING-PLAN"
>Testplan for releases</A
></DT
><DT
>5.2. <A
HREF="testing.html#PRIVOXY-REGRESSION-TEST"
>Testing with <SPAN
CLASS="APPLICATION"
>Privoxy-Regression-Test</SPAN
></A
></DT
><DT
>5.3. <A
HREF="testing.html#FUZZING"
>Fuzzing Privoxy</A
></DT
></DL
></DD
><DT
>6. <A
HREF="newrelease.html"
>Releasing a New Version</A
></DT
><DD
><DL
><DT
>6.1. <A
HREF="newrelease.html#VERSIONNUMBERS"
>Version numbers</A
></DT
><DT
>6.2. <A
HREF="newrelease.html#BEFORERELEASE"
>Before the Release</A
></DT
><DT
>6.3. <A
HREF="newrelease.html#THERELEASE"
>Building and Releasing the Packages</A
></DT
><DD
><DL
><DT
>6.3.1. <A
HREF="newrelease.html#PACK-GUIDELINES"
>Note on Privoxy Packaging</A
></DT
><DT
>6.3.2. <A
HREF="newrelease.html#NEWRELEASE-TARBALL"
>Source Tarball</A
></DT
><DT
>6.3.3. <A
HREF="newrelease.html#NEWRELEASE-WINDOWS"
>Windows</A
></DT
><DT
>6.3.4. <A
HREF="newrelease.html#NEWRELEASE-DEBIAN"
>Debian</A
></DT
><DT
>6.3.5. <A
HREF="newrelease.html#NEWRELEASE-MACOSX"
>Mac OS X</A
></DT
><DT
>6.3.6. <A
HREF="newrelease.html#NEWRELEASE-FREEBSD"
>FreeBSD</A
></DT
></DL
></DD
><DT
>6.4. <A
HREF="newrelease.html#RELEASING"
>Uploading and Releasing Your Package</A
></DT
><DT
>6.5. <A
HREF="newrelease.html#AFTERRELEASE"
>After the Release</A
></DT
></DL
></DD
><DT
>7. <A
HREF="webserver-update.html"
>Update the Webserver</A
></DT
></DL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="introduction.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Introduction</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>