Updated documentation about the git repository and libpng coding style.
This commit is contained in:
parent
c1dd118d2c
commit
70c2db8b9f
6
CHANGES
6
CHANGES
@ -2393,9 +2393,13 @@ version 1.2.37beta03 [May 20, 2009]
|
|||||||
version 1.2.37rc01 [May 27, 2009]
|
version 1.2.37rc01 [May 27, 2009]
|
||||||
No changes.
|
No changes.
|
||||||
|
|
||||||
version 1.2.37 [May 31, 2009]
|
version 1.2.37 [June 2, 2009]
|
||||||
Reformatted several remaining "else statement;" and "if () statment;" into
|
Reformatted several remaining "else statement;" and "if () statment;" into
|
||||||
two lines.
|
two lines.
|
||||||
|
Added "#define PNG_NO_WRITE_SWAP" to contrib/pngminim/encoder/pngusr.h
|
||||||
|
and "define PNG_NO_READ_SWAP" to decoder/pngusr.h and preader/pngusr.h
|
||||||
|
Added sections about the git repository and our coding style to the
|
||||||
|
documentation (merged from libpng-1.4.0beta62)
|
||||||
|
|
||||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
||||||
(subscription required; visit
|
(subscription required; visit
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
libpng.txt - A description on how to use and modify libpng
|
libpng.txt - A description on how to use and modify libpng
|
||||||
|
|
||||||
libpng version 1.2.37rc01 - May 27, 2009
|
libpng version 1.2.37 - June 2, 2009
|
||||||
Updated and distributed by Glenn Randers-Pehrson
|
Updated and distributed by Glenn Randers-Pehrson
|
||||||
<glennrp at users.sourceforge.net>
|
<glennrp at users.sourceforge.net>
|
||||||
Copyright (c) 1998-2009 Glenn Randers-Pehrson
|
Copyright (c) 1998-2009 Glenn Randers-Pehrson
|
||||||
@ -9,7 +9,7 @@ libpng.txt - A description on how to use and modify libpng
|
|||||||
|
|
||||||
Based on:
|
Based on:
|
||||||
|
|
||||||
libpng versions 0.97, January 1998, through 1.2.37rc01 - May 27, 2009
|
libpng versions 0.97, January 1998, through 1.2.37 - June 2, 2009
|
||||||
Updated and distributed by Glenn Randers-Pehrson
|
Updated and distributed by Glenn Randers-Pehrson
|
||||||
Copyright (c) 1998-2009 Glenn Randers-Pehrson
|
Copyright (c) 1998-2009 Glenn Randers-Pehrson
|
||||||
|
|
||||||
@ -2945,15 +2945,121 @@ We replaced all of these functions with simple stubs in libpng-1.2.20,
|
|||||||
when the Intel assembler code was removed due to a licensing issue.
|
when the Intel assembler code was removed due to a licensing issue.
|
||||||
|
|
||||||
IX. (Omitted)
|
IX. (Omitted)
|
||||||
X. Y2K Compliance in libpng
|
|
||||||
|
|
||||||
May 27, 2009
|
X. Source code repository
|
||||||
|
|
||||||
|
Since about February 2009, version 1.2.34, libpng has been under "git" source
|
||||||
|
control. The git repository was built from old libpng-x.y.z.tar.gz files
|
||||||
|
going back to version 0.70. You can access the git repository (read only)
|
||||||
|
at
|
||||||
|
|
||||||
|
git://libpng.git.sourceforge.net/gitroot/libpng
|
||||||
|
|
||||||
|
or you can browse it via "gitweb" at
|
||||||
|
|
||||||
|
http://libpng.git.sourceforge.net/git/gitweb.cgi?p=libpng
|
||||||
|
|
||||||
|
Patches can be sent to glennrp at users.sourceforge.net or to
|
||||||
|
png-mng-implement at lists.sourceforge.net or you can upload them to
|
||||||
|
the libpng bug tracker at
|
||||||
|
|
||||||
|
http://libpng.sourceforge.net
|
||||||
|
|
||||||
|
XI. Coding style
|
||||||
|
|
||||||
|
Our coding style is similar to the "Allman" style, with curly
|
||||||
|
braces on separate lines:
|
||||||
|
|
||||||
|
if (condition)
|
||||||
|
{
|
||||||
|
action;
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (another condition)
|
||||||
|
{
|
||||||
|
another action;
|
||||||
|
}
|
||||||
|
|
||||||
|
The braces can be omitted from simple one-line actions:
|
||||||
|
|
||||||
|
if (condition)
|
||||||
|
return (0);
|
||||||
|
|
||||||
|
We use 3-space indentation, except for continued statements which
|
||||||
|
are usually indented the same as the first line of the statement
|
||||||
|
plus four more spaces.
|
||||||
|
|
||||||
|
Comments appear with the leading "/*" at the same indentation as
|
||||||
|
the statement that follows the comment:
|
||||||
|
|
||||||
|
/* Single-line comment */
|
||||||
|
statement;
|
||||||
|
|
||||||
|
/* Multiple-line
|
||||||
|
* comment
|
||||||
|
*/
|
||||||
|
statement;
|
||||||
|
|
||||||
|
Very short comments can be placed at the end of the statement
|
||||||
|
to which they pertain:
|
||||||
|
|
||||||
|
statement; /* comment */
|
||||||
|
|
||||||
|
We don't use C++ style ("//") comments. We have, however,
|
||||||
|
used them in the past in some now-abandoned MMX assembler
|
||||||
|
code.
|
||||||
|
|
||||||
|
Functions and their curly brackets are not indented, and
|
||||||
|
exported functions are marked with PNGAPI:
|
||||||
|
|
||||||
|
/* This is a public function that is visible to
|
||||||
|
* application programers. It does thus-and-so.
|
||||||
|
*/
|
||||||
|
void PNGAPI
|
||||||
|
png_exported_function(png_ptr, png_info, foo)
|
||||||
|
{
|
||||||
|
body;
|
||||||
|
}
|
||||||
|
|
||||||
|
The prototypes for all exported functions appear in png.h.
|
||||||
|
|
||||||
|
We mark all non-exported functions with "/* PRIVATE */"":
|
||||||
|
|
||||||
|
void /* PRIVATE */
|
||||||
|
png_non_exported_function(png_ptr, png_info, foo)
|
||||||
|
{
|
||||||
|
body;
|
||||||
|
}
|
||||||
|
|
||||||
|
The prototypes for non-exported functions can appear in
|
||||||
|
pngpriv.h or in the file where the function is located.
|
||||||
|
|
||||||
|
The names of all exported functions and variables begin
|
||||||
|
with "png_", and all publicly visible C preprocessor
|
||||||
|
macros begin with "PNG_".
|
||||||
|
|
||||||
|
We put a space after each comma and after each semicolon
|
||||||
|
in "for" statments, and we put spaces before and after each
|
||||||
|
C binary operator and after "for" or "while". We don't
|
||||||
|
put a space between a typecast and the expression being
|
||||||
|
cast, nor do we put one between a function name and the
|
||||||
|
left parenthesis that follows it:
|
||||||
|
|
||||||
|
for (i = 2; i > 0; --i)
|
||||||
|
x[i] = a(x) + (int)b;
|
||||||
|
|
||||||
|
Other rules can be inferred by inspecting the libpng
|
||||||
|
source.
|
||||||
|
|
||||||
|
XII. Y2K Compliance in libpng
|
||||||
|
|
||||||
|
June 2, 2009
|
||||||
|
|
||||||
Since the PNG Development group is an ad-hoc body, we can't make
|
Since the PNG Development group is an ad-hoc body, we can't make
|
||||||
an official declaration.
|
an official declaration.
|
||||||
|
|
||||||
This is your unofficial assurance that libpng from version 0.71 and
|
This is your unofficial assurance that libpng from version 0.71 and
|
||||||
upward through 1.2.37rc01 are Y2K compliant. It is my belief that earlier
|
upward through 1.2.37 are Y2K compliant. It is my belief that earlier
|
||||||
versions were also Y2K compliant.
|
versions were also Y2K compliant.
|
||||||
|
|
||||||
Libpng only has three year fields. One is a 2-byte unsigned integer that
|
Libpng only has three year fields. One is a 2-byte unsigned integer that
|
Reference in New Issue
Block a user