📄 hacking
字号:
-------------------------------------------------------------------------------Information for developers and contributors-------------------------------------------------------------------------------This documentation shall give some hints to developers and contributors.Please send comments and suggestions to the prozilla mailinglist.Coding guidelines----------------- * Use an indentation width of 2 spaces. Braces are put on a separate line, not on the same line as the if/while/for etc. statements. The braces themselves are not indented, only the code within the braces. Example: if (foo == TRUE) { while (bar != NULL) { do_something("Test.", 19); do_something_else(); } } else { printf("Foo is not TRUE.\n"); exit(EXIT_SUCCESS); } * Put a space after each comma. * Do *not* put spaces between the function-name and the opening brace: Wrong: foo ("Test", 19); Correct: foo("Test", 19); * Do not put a space when referring to a pointer. Wrong: void foo(const char * message); Correct: void foo(const char *message); * Do not use any TABs in the code. The only files where you should use TABs is the ChangeLog and the Makefile.am's. * Write only 80 characters per line where possible.Have a look at the already existing code for examples.Names-----Always use good, unabbreviated, correctly-spelled meaningful names.All functions, variables, enums, #defines etc. which are intended to be usedby the programs which link against libprozilla, are prefixed with proz_or PROZ_.Examples: proz_init(); #define PROZ_MAX_CONNECTIONS 19 etc.TODO, FIXME and NOTE--------------------Use the keywords 'TODO', 'FIXME' and 'NOTE' in the source-code commentsto remind yourself or other developers of things which still need to bedone or fixed.You can then do a simple 'grep TODO *.[ch]' to find all those comments...ChangeLog entries-----------------Everytime you make a change to any of the files, you must write a ChangeLogentry with your name, email adress and the date. Please try to writeverbosive comments and also give reasons why you wrote/changed somethingif that reason is not obvious...You can use 'cvs -z3 diff -Nu * | vim -' to view the differences between yourcode and the latest CVS-code. Use this as a help to write the ChangeLog entry.Changes to the file 'ChangeLog' can be omitted, because this file is changed*everytime* anyway...If you commit a patch from another developer or a contributor, add his nameand email-adress to the file AUTHORS. Also write a small message in theChangeLog which says e.g. 'Applied patch from Joe Foo <foo@bar.com>.'.Do the same if someone reports and/or fixes a bug: Add him to AUTHORS and adda ChangeLog entry, e.g. 'Fixed a bug reported by Joe Foo <foo@bar.com>.'.Comments-------- * Do not comment obvious code (i++ /* Increment i. */ etc...). * Only use C-style comments (/* Foo. */) and not C++-style comments (// Foo.). * All comments should start with a capital letter and end with a dot.Tools used----------We use the following tools for this project: * autoconf 2.13 or better ftp://ftp.gnu.org/gnu/autoconf/ * automake 1.4 or better ftp://ftp.gnu.org/gnu/automake/Code from other projects------------------------ * getopt.c, getopt.h: Purpose: Commandline options parsing code. Author: ??? License: GPL. From: ftp://ftp.gnu.org/gnu/glibc/ Comments: Unmodified version from glibc. * netrc.c, netrc.h: Purpose: Parse the .netrc file to get hosts, accounts, and passwords. Author: Gordon Matzigkeit <gord@gnu.ai.mit.edu> License: GPL From: ??? Comments: Modified for libprozilla. * url.c, url.h: Purpose: URL handling code. Author: ??? License: GPL. From: ??? Comments: Modified for libprozilla.Automatically generated files-----------------------------The following files are automatically generated by either aclocal, autoheaderautoconf or automake. Do not edit them directly.Makefile.inaclocal.m4config.h.inconfigureinstall-shmissingmkinstalldirsstamp-h.indocs/Makefile.insrc/Makefile.incommon.h--------All libprozilla files include the common.h file. This file #includes allheaders we need, #defines some things like TRUE and FALSE, typedefsa 'boolean' type etc...Patches-------Send your patches (diff -u) to the prozilla mailinglist.If you changed several things in the code or fixed more than one problem,please send a separate patch for each of the fixes. If everything is in onesingle patch file, the patch is a lot harder to understand, check and apply. Mailinglists------------Read the README.CVS---You can access the libprozilla CVS repository anonymously (read-only access)by issueing the following commands:cvs -d :pserver:anonymous@cvs.delrom.ro:/home/cvsroot loginPress enter when prompted for the password.cvs -d :pserver:anonymous@cvs.delrom.ro:/home/cvsroot co libprozilla
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -