README.Portability: Correct example about calling a function through a pointer to function.

* README.Portability: Correct example about calling a function
	through a pointer to function.  Format wide paragraphs.

From-SVN: r35043
This commit is contained in:
Neil Booth 2000-07-15 04:59:42 +00:00 committed by Neil Booth
parent 1b0bd03b7f
commit 46b6bb9549
2 changed files with 17 additions and 10 deletions

View File

@ -1,3 +1,8 @@
2000-07-15 Neil Booth <NeilB@earthling.net>
* README.Portability: Correct example about calling a function
through a pointer to function. Format wide paragraphs.
2000-07-15 Michael Meissner <meissner@redhat.com>
* README.Portability: Update integer suffixes and function

View File

@ -155,22 +155,23 @@ ansidecl.h for the definitions of the above macros and more.
#define PARAMS(paramlist) () /* K+R C. */
#define VPARAMS(args) (va_alist) va_dcl
One aspect of using K+R style function declarations, is you cannot have
arguments whose types are char, short, or float, since without prototypes (ie,
K+R rules), these types are promoted to int, int, and double respectively.
One aspect of using K+R style function declarations, is you cannot
have arguments whose types are char, short, or float, since without
prototypes (ie, K+R rules), these types are promoted to int, int, and
double respectively.
Calling functions through pointers to functions
-----------------------------------------------
K+R C compilers require brackets around the dereferenced pointer
variable. For example
variable, whereas ISO C relaxes the syntax. For example
typedef void (* cl_directive_handler) PARAMS ((cpp_reader *, const char *));
p->handler (pfile, p->arg);
*p->handler (pfile, p->arg);
needs to become
(p->handler) (pfile, p->arg);
(*p->handler) (pfile, p->arg);
Macros
@ -244,11 +245,12 @@ them.
Suffixes on Integer Constants
-----------------------------
K+R C did not accept a 'u' suffix on integer constants. If you want to declare
a constant to be be unsigned, you must use an explicit cast.
K+R C did not accept a 'u' suffix on integer constants. If you want
to declare a constant to be be unsigned, you must use an explicit
cast.
You should never use a 'l' suffix on integer constants ('L' is fine), since it
can easily be confused with the number '1'.
You should never use a 'l' suffix on integer constants ('L' is fine),
since it can easily be confused with the number '1'.
Common Coding Pitfalls