doc: Explain use of common error variable names.

--
This commit is contained in:
Werner Koch 2016-04-25 17:49:46 +02:00
parent 8776abbe02
commit 2502a76d8e
No known key found for this signature in database
GPG Key ID: E3FDFF218E45B72B
1 changed files with 24 additions and 7 deletions

View File

@ -74,7 +74,6 @@ do this after this scissor line:
Note that such a comment will be removed if the git commit option Note that such a comment will be removed if the git commit option
=--cleanup=scissor= is used. =--cleanup=scissor= is used.
** License policy ** License policy
GnuPG is licensed under the GPLv3+ with some files under a mixed GnuPG is licensed under the GPLv3+ with some files under a mixed
@ -131,12 +130,13 @@ Note that such a comment will be removed if the git commit option
- Ignore signed/unsigned pointer mismatches - Ignore signed/unsigned pointer mismatches
- No arithmetic on void pointers; cast to char* first. - No arithmetic on void pointers; cast to char* first.
- We use our own printf style functions like =es_printf=, and - We use our own printf style functions like =es_printf=, and
=es_asprintf= which implement most C99 features with the exception =gpgrt_asprintf= (or the =es_asprintf= macro) which implement most
of =wchar_t= (which should anyway not be used). Please always use C99 features with the exception of =wchar_t= (which should anyway
them and do not resort to those provided by libc. The rationale not be used). Please use them always and do not resort to those
for using them is that we know that the format specifiers work on provided by libc. The rationale for using them is that we know
all platforms and that we do not need to chase platform dependent that the format specifiers work on all platforms and that we do
bugs. not need to chase platform dependent bugs. Note also that in
gnupg asprintf is a macro already evaluating to gpgrt_asprintf.
- It is common to have a label named "leave" for a function's - It is common to have a label named "leave" for a function's
cleanup and return code. This helps with freeing memory and is a cleanup and return code. This helps with freeing memory and is a
convenient location to set a breakpoint for debugging. convenient location to set a breakpoint for debugging.
@ -150,6 +150,23 @@ Note that such a comment will be removed if the git commit option
end up in BSS. end up in BSS.
- Use --enable-maintainer-mode with configure. - Use --enable-maintainer-mode with configure.
** Variable names
Follow the GNU standards. Here are some conventions you may want to
stick to (do not rename existing "wrong" uses without a goog
reason).
- err :: This conveys an error code of type =gpg_error_t= which is
compatible to an =int=. To compare such a variable to a
GPG_ERR_ constant, it is necessary to map the value like
this: =gpg_err_code(err)=.
- ec :: This is used for a gpg-error code which has no source part
(=gpg_err_code_t=) and will eventually be used as input to
=gpg_err_make=.
- rc :: Used for all kind of other errors; for example system
calls. The value is not compatible with gpg-error.
*** C99 language features *** C99 language features
In GnuPG 2.x, but *not in 1.4* and not in most libraries, a limited In GnuPG 2.x, but *not in 1.4* and not in most libraries, a limited