You are free to add any new features you like to gawk
.
However, if you want your changes to be incorporated into the gawk
distribution, there are several steps that you need to take in order to
make it possible for me to include to your changes.
gawk
. If your version of
gawk
is very old, I may not be able to integrate them at all.
See section Getting the gawk
Distribution,
for information on getting the latest version of gawk
.
gawk
.
(The GNU Coding Standards are available as part of the Autoconf
distribution, from the FSF.)
gawk
coding style.
The C code for gawk
follows the instructions in the
GNU Coding Standards, with minor exceptions. The code is formatted
using the traditional "K&R" style, particularly as regards the placement
of braces and the use of tabs. In brief, the coding rules for gawk
are:
int
, on the
line above the line with the name and arguments of the function.
if
, while
, for
, do
, switch
and return
).
for
loop initialization and increment parts, and in macro bodies.
NULL
and '\0'
in the conditions of
if
, while
and for
statements, and in the case
s
of switch
statements, instead of just the
plain pointer or character value.
TRUE
, FALSE
, and NULL
symbolic constants,
and the character constant '\0'
where appropriate, instead of 1
and 0
.
alloca
function for allocating memory off the stack.
Its use causes more portability trouble than the minor benefit of not having
to free the storage. Instead, use malloc
and free
.
gawk
, I may not bother.
[email protected]
.
gawk
source tree with your version.
(I find context diffs to be more readable, but unified diffs are
more compact.)
I recommend using the GNU version of diff
.
Send the output produced by either run of diff
to me when you
submit your changes.
See section Reporting Problems and Bugs, for the electronic mail
information.
Using this format makes it easy for me to apply your changes to the
master version of the gawk
source code (using patch
).
If I have to apply the changes manually, using a text editor, I may
not do so, particularly if there are lots of changes.
Although this sounds like a lot of work, please remember that while you may write the new code, I have to maintain it and support it, and if it isn't possible for me to do that with a minimum of extra work, then I probably will not.
Go to the first, previous, next, last section, table of contents.