understand why or what is being done. A reader may spend a lot
more time figuring out what is going on when a simple comment
or explanation would have prevented the extra research. Please
- help your brother IJB'ers out!</P
+ help your fellow Privoxy developers out!</P
><P
>The comments will also help justify the intent of the code.
If the comment describes something different than what the code
><PRE
CLASS="PROGRAMLISTING"
>/* if page size greater than 1k ... */
-if ( page_length() > 1024 )
+if (page_length() > 1024)
{
... "block" the page up ...
}
/* if page size is small, send it in blocks */
-if ( page_length() > 1024 )
+if (page_length() > 1024)
{
... "block" the page up ...
}
>/*********************************************************************
* This will stand out clearly in your code!
*********************************************************************/
-if ( this_variable == that_variable )
+if (this_variable == that_variable)
{
do_something_very_important();
}
/* unfortunately, this may not */
-if ( this_variable == that_variable )
+if (this_variable == that_variable)
{
do_something_very_important();
}
-if ( this_variable == that_variable ) /* this may not either */
+if (this_variable == that_variable) /* this may not either */
{
do_something_very_important();
}</PRE
* This will stand out clearly in your code,
* But the second example won't.
*********************************************************************/
-if ( this_variable == this_variable )
+if (this_variable == this_variable)
{
do_something_very_important();
}
-if ( this_variable == this_variable ) /*can you see me?*/
+if (this_variable == this_variable) /*can you see me?*/
{
do_something_very_important(); /*not easily*/
}
int urls_read = 0; /* # of urls read + rejected */
int urls_rejected = 0; /* # of urls rejected */
-if ( 1 == X )
+if (1 == X)
{
do_something_very_important();
}
><TD
><PRE
CLASS="PROGRAMLISTING"
->if ( 1 == X )
+>if (1 == X)
{
do_something_very_important();
...some long list of commands...
or:
-if ( 1 == X )
+if (1 == X)
{
do_something_very_important();
...some long list of commands...
-} /* -END- if ( 1 == X ) */</PRE
+} /* -END- if (1 == X) */</PRE
></TD
></TR
></TABLE
>Instead of:</I
></SPAN
></P
-><P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
></TD
></TR
></TABLE
-></P
></DIV
><DIV
CLASS="SECT3"
><TD
><PRE
CLASS="PROGRAMLISTING"
->int load_some_file( struct client_state *csp )</PRE
+>int load_some_file(struct client_state *csp)</PRE
></TD
></TR
></TABLE
>Instead of:</I
></SPAN
></P
-><P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
><TD
><PRE
CLASS="PROGRAMLISTING"
->int loadsomefile( struct client_state *csp )
-int loadSomeFile( struct client_state *csp )</PRE
+>int loadsomefile(struct client_state *csp)
+int loadSomeFile(struct client_state *csp)</PRE
></TD
></TR
></TABLE
-></P
></DIV
><DIV
CLASS="SECT3"
><TD
><PRE
CLASS="PROGRAMLISTING"
->(.h) extern int load_aclfile( struct client_state *csp );
-(.c) int load_aclfile( struct client_state *csp )</PRE
+>(.h) extern int load_aclfile(struct client_state *csp);
+(.c) int load_aclfile(struct client_state *csp)</PRE
></TD
></TR
></TABLE
CLASS="EMPHASIS"
>Instead of:</I
></SPAN
->
-<TABLE
+></P
+><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TD
><PRE
CLASS="PROGRAMLISTING"
->(.h) extern int load_aclfile( struct client_state * ); or
-(.h) extern int load_aclfile();
-(.c) int load_aclfile( struct client_state *csp )</PRE
+>(.h) extern int load_aclfile(struct client_state *); or
+(.h) extern int load_aclfile();
+(.c) int load_aclfile(struct client_state *csp)</PRE
></TD
></TR
></TABLE
-></P
></DIV
><DIV
CLASS="SECT3"
><TD
><PRE
CLASS="PROGRAMLISTING"
->(enumeration) : enum Boolean { FALSE, TRUE };
+>(enumeration) : enum Boolean {FALSE, TRUE};
(#define) : #define DEFAULT_SIZE 100;</PRE
></TD
></TR
>Instead of:</I
></SPAN
></P
-><P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
><TD
><PRE
CLASS="PROGRAMLISTING"
->#define USE_IMG_LST 1 or
+>#define USE_IMG_LST 1 or
#define _USE_IMAGE_LIST 1 or
-#define USE_IMAGE_LIST_ 1 or
+#define USE_IMAGE_LIST_ 1 or
#define use_image_list 1 or
#define UseImageList 1</PRE
></TD
></TR
></TABLE
-></P
></DIV
></DIV
><DIV
><TD
><PRE
CLASS="PROGRAMLISTING"
->if ( this == that )
+>if (this == that)
{
...
}</PRE
></SPAN
></P
><P
->if ( this == that ) { ... }</P
+>if (this == that) { ... }</P
><P
>or</P
><P
->if ( this == that ) { ... }</P
+>if (this == that) { ... }</P
><P
><SPAN
CLASS="emphasis"
><TD
><PRE
CLASS="PROGRAMLISTING"
->while ( more lines are read )
+>while (more lines are read)
{
/* Please document what is/is not a comment line here */
- if ( it's a comment ) continue;
+ if (it's a comment) continue;
- do_something( line );
+ do_something(line);
}</PRE
></TD
></TR
><TD
><PRE
CLASS="PROGRAMLISTING"
->if ( this == that )
+>if (this == that)
{
do_something();
do_something_else();
></SPAN
></P
><P
->if ( this == that ) do_something(); do_something_else();</P
+>if (this == that) do_something(); do_something_else();</P
><P
>or</P
><P
->if ( this == that ) do_something();</P
+>if (this == that) do_something();</P
><P
><SPAN
CLASS="emphasis"
><TD
><PRE
CLASS="PROGRAMLISTING"
->structure->flag = ( condition );</PRE
+>structure->flag = (condition);</PRE
></TD
></TR
></TABLE
></SPAN
></P
><P
->if ( condition ) { structure->flag = 1; } else {
+>if (condition) { structure->flag = 1; } else {
structure->flag = 0; }</P
><P
><SPAN
>int first_value = 0;
int some_value = 0;
int another_value = 0;
-int this_variable = 0;
-
-if ( this_variable == this_variable )
-
-first_value = old_value + ( ( some_value - another_value ) - whatever )</PRE
+int this_variable = 0;</PRE
></TD
></TR
></TABLE
>int function1( ... )
{
...code...
- return( ret_code );
+ return(ret_code);
-} /* -END- function1 */
+} /* -END- function1 */
int function2( ... )
{
-} /* -END- function2 */</PRE
+} /* -END- function2 */</PRE
></TD
></TR
></TABLE
></SPAN
></P
><P
->int function1( ... ) { ...code... return( ret_code ); } int
+>int function1( ... ) { ...code... return(ret_code); } int
function2( ... ) { }</P
><P
><SPAN
int function1( ... )
{
- if ( 1 )
+ if (1)
{
- return( ALWAYS_TRUE );
+ return ALWAYS_TRUE;
}
else
{
- return( HOW_DID_YOU_GET_HERE );
+ return HOW_DID_YOU_GET_HERE;
}
- return( NEVER_GETS_HERE );
+ return NEVER_GETS_HERE;
}</PRE
></TD
><TD
><PRE
CLASS="PROGRAMLISTING"
->for ( size_t cnt = 0; cnt < block_list_length(); cnt++ )
+>for (size_t cnt = 0; cnt < block_list_length(); cnt++)
{
....
}</PRE
CLASS="PROGRAMLISTING"
>size_t len = block_list_length();
-for ( size_t cnt = 0; cnt < len; cnt++ )
+for (size_t cnt = 0; cnt < len; cnt++)
{
....
}</PRE
>This allows a developer to define a const pointer and call
your function. If your function does not have the const
keyword, we may not be able to use your function. Consider
- strcmp, if it were defined as: extern int strcmp( char *s1,
- char *s2 );</P
+ strcmp, if it were defined as: extern int strcmp(char *s1,
+ char *s2);</P
><P
->I could then not use it to compare argv's in main: int main(
- int argc, const char *argv[] ) { strcmp( argv[0], "privoxy"
- ); }</P
+>I could then not use it to compare argv's in main: int
+ main(int argc, const char *argv[]) { strcmp(argv[0], "privoxy");
+ }</P
><P
>Both these pointers are *const*! If the c runtime library
maintainers do it, we should too.</P
><P
>Most structures cannot fit onto a normal stack entry (i.e.
they are not 4 bytes or less). Aka, a function declaration
- like: int load_aclfile( struct client_state csp )</P
+ like: int load_aclfile(struct client_state csp)</P
><P
>would not work. So, to be consistent, we should declare all
- prototypes with "pass by value": int load_aclfile( struct
- client_state *csp )</P
+ prototypes with "pass by value": int load_aclfile(struct
+ client_state *csp)</P
></DIV
><DIV
CLASS="SECT3"
>Exception:</I
></SPAN
></P
-><P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
><TD
><PRE
CLASS="PROGRAMLISTING"
->/* This is not a local include, but requires a path element. */
+>/* This is not a local include, but requires a path element. */
#include <sys/fileName.h></PRE
></TD
></TR
></TABLE
-></P
><P
><SPAN
CLASS="emphasis"
><TD
><PRE
CLASS="PROGRAMLISTING"
->switch( hash_string( cmd ) )
+>switch (hash_string(cmd))
{
- case hash_actions_file :
+ case hash_actions_file:
... code ...
break;
- case hash_confdir :
+ case hash_confdir:
... code ...
break;
- default :
+ default:
log_error( ... );
... anomaly code goes here ...
continue; / break; / exit( 1 ); / etc ...
-} /* end switch( hash_string( cmd ) ) */</PRE
+} /* end switch (hash_string(cmd)) */</PRE
></TD
></TR
></TABLE
><H3
CLASS="SECT3"
><A
-NAME="S39"
->4.7.4. Use 'long' or 'short' Instead of
- 'int'</A
-></H3
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Explanation:</I
-></SPAN
-></P
-><P
->On 32-bit platforms, int usually has the range of long. On
- 16-bit platforms, int has the range of short.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Status:</I
-></SPAN
-> open-to-debate. In the case of most FSF
- projects (including X/GNU-Emacs), there are typedefs to int4,
- int8, int16, (or equivalence ... I forget the exact typedefs
- now). Should we add these to IJB now that we have a "configure"
- script?</P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
NAME="S40"
->4.7.5. Don't mix size_t and other types</A
+>4.7.4. Don't mix size_t and other types</A
></H3
><P
><SPAN
CLASS="SECT3"
><A
NAME="S41"
->4.7.6. Declare each variable and struct on its
+>4.7.5. Declare each variable and struct on its
own line.</A
></H3
><P
CLASS="SECT3"
><A
NAME="S42"
->4.7.7. Use malloc/zalloc sparingly</A
+>4.7.6. Use malloc/zalloc sparingly</A
></H3
><P
><SPAN
CLASS="SECT3"
><A
NAME="S43"
->4.7.8. The Programmer Who Uses 'malloc' is
+>4.7.7. The Programmer Who Uses 'malloc' is
Responsible for Ensuring 'free'</A
></H3
><P
><TD
><PRE
CLASS="PROGRAMLISTING"
->int load_re_filterfile( struct client_state *csp ) { ... }
-static void unload_re_filterfile( void *f ) { ... }</PRE
+>int load_re_filterfile(struct client_state *csp) { ... }
+static void unload_re_filterfile(void *f) { ... }</PRE
></TD
></TR
></TABLE
CLASS="SECT3"
><A
NAME="S44"
->4.7.9. Add loaders to the `file_list' structure
+>4.7.8. Add loaders to the `file_list' structure
and in order</A
></H3
><P
CLASS="SECT3"
><A
NAME="S45"
->4.7.10. "Uncertain" new code and/or changes to
- existing code, use FIXME or XXX</A
+>4.7.9. "Uncertain" new code and/or changes to
+ existing code, use XXX</A
></H3
><P
><SPAN
your changes, but are not *quite* sure of the repercussions,
add this:</P
><P
->/* FIXME: this code has a logic error on platform XYZ, *
+>/* XXX: this code has a logic error on platform XYZ, *
attempting to fix */ #ifdef PLATFORM ...changed code here...
#endif</P
><P
>or:</P
><P
->/* FIXME: I think the original author really meant this...
+>/* XXX: I think the original author really meant this...
*/ ...changed code here...</P
><P
>or:</P
><P
->/* FIXME: new code that *may* break something else... */
+>/* XXX: new code that *may* break something else... */
...new code here...</P
><P
><SPAN
><TD
><PRE
CLASS="PROGRAMLISTING"
->const char FILENAME_rcs[] = "$Id$";
-/*********************************************************************
+>/*********************************************************************
*
- * File : $Source$
+ * File : $Source
*
* Purpose : (Fill me in with a good description!)
*
* Copyright : Written by and Copyright (C) 2001-2009
- * the Privoxy team. http://www.privoxy.org/
+ * the Privoxy team. https://www.privoxy.org/
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* The GNU General Public License should be included with
* this file. If not, you can view it at
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
- * or write to the Free Software Foundation, Inc.,
+ * or write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 ,
* USA
*
>Note:</I
></SPAN
> This declares the rcs variables that should be
- added to the "show-proxy-args" page. If this is a brand new
+ added to the "show-version" page. If this is a brand new
creation by you, you are free to change the "Copyright" section
to represent the rights you wish to maintain.</P
><P
CLASS="PROGRAMLISTING"
>#ifndef _FILENAME_H
#define _FILENAME_H
-#define FILENAME_H_VERSION "$Id$"
/*********************************************************************
*
- * File : $Source$
+ * File : $Source
*
* Purpose : (Fill me in with a good description!)
*
* Copyright : Written by and Copyright (C) 2001-2009
- * the Privoxy team. http://www.privoxy.org/
+ * the Privoxy team. https://www.privoxy.org/
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* The GNU General Public License should be included with
* this file. If not, you can view it at
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
- * or write to the Free Software Foundation, Inc.,
+ * or write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 ,
* USA
*
* Returns : 0 => Ok, everything else is an error.
*
*********************************************************************/
-int FUNCTION_NAME( void *param1, const char *x )
+int FUNCTION_NAME(void *param1, const char *x)
{
...
- return( 0 );
+ return 0;
}</PRE
></TD