You are free to add any new features you like to
However, if you want your changes to be incorporated into the
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
gawkis very old, I may not be able to integrate them at all. See section Getting the
gawkDistribution, for information on getting the latest version of
gawk. (The GNU Coding Standards are available as part of the Autoconf distribution, from the FSF.)
gawkcoding style. The C code for
gawkfollows 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
int, on the line above the line with the name and arguments of the function.
forloop initialization and increment parts, and in macro bodies.
'\0'in the conditions of
forstatements, and in the
switchstatements, instead of just the plain pointer or character value.
NULLsymbolic constants, and the character constant
'\0'where appropriate, instead of
allocafunction 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
gawk, I may not bother.
gawksource 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
diffto 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
gawksource 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.