summaryrefslogtreecommitdiff
path: root/Build/source/README.coding
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/README.coding')
-rw-r--r--Build/source/README.coding20
1 files changed, 10 insertions, 10 deletions
diff --git a/Build/source/README.coding b/Build/source/README.coding
index 90d17adea3d..3a1f19cf594 100644
--- a/Build/source/README.coding
+++ b/Build/source/README.coding
@@ -19,21 +19,21 @@ independently.
-----------------------------------------------
The TL build system no longer supports pre-ANSI C compilers. Thus all
function prototypes and definitions must conform to the ANSI C standard
-(including `void' in the declaration of functions that take no parameters).
+(including `void' in the declaration of C functions with no parameters).
1.2. Static
-----------
-Functions used in only one file must be declared `static'; no prototype is
-required except as forward declaration.
+Functions used in only one file should be declared `static'; no prototype is
+then required except as forward declaration.
1.3. Extern
-----------
-Functions used in several files require (extern) prototypes to be provided
-by a header files. That header must be included in the file defining the
-function and in all files using that function -- this is the only way to
-guarantee consistency between definition and use of functions. No more
-`extern's sprinkled throughout the C code (with or without comment where
-that function is defined).
+Non-static functions, e.g., used in several files, require (extern)
+prototypes to be provided by a header files. That header must be included
+in the file defining the function and in all files using that function --
+this is the only way to guarantee consistency between definition and use of
+functions. No more `extern's sprinkled throughout the C code (with or
+without comment where that function is defined).
1.4. Variables
--------------
@@ -48,7 +48,7 @@ exactly one file.
------------------------
Ideally, a function parameter not modified by the function should be
declared as const. This is important in particular for strings (`char *')
-because frequently string literals are used as actual arguments.
+because frequently the actual arguments are string literals.
However, a `char **' value is not assignment compatible with a `const
char **' variable. Getting all `const's right often is quite involved but
usually can be done. There are, however, a few notable exceptions: the X11