1Some notices for you who would like to hack the source in order to 2improve powwow, fix bugs or just have fun: 3 4* Try not to run large chunks of existing code through your C 5 beautifier if the indentation style doesn't please you. This will 6 only greatly confuse the original author (if he can't recognize and 7 maintain his own code, who can?). If you write any new functions, 8 ok, use your own style as long as it's clear and consistent. 9 10* For portability, powwow is written using a few #defines that can 11 generate either K&R and ANSI function prototypes depending on the compiler, 12 so that it (should) compile fine in both cases. 13 If people convince me that non-ANSI compilers are rare enough these days, 14 we could switch to ANSI-only prototypes. Even then, please, do NOT 15 use any gcc-specific features (I've seen the char constant '\e' in some 16 places) even if gcc is very common. Our goal should be to let the 17 maximum number of people use powwow. (Most non-ANSI compilers grok 18 void and unsigned, so these are safe to use.) 19 20* For the same reason, do NOT use C++ style comments // 21 22* To sum it up, assume that the user has: 23 - a non-ANSI C compiler (use the __P, __P0, __P1, ... defines!) 24 - an exotic non-VT100 terminal (use TERMCAP!), possibly on a slow line 25 - a slow workstation, or a larger computer shared by 100 users and 26 aggressive sysadmins who think that mudding doesn't justify 10% or 27 even 5% CPU load. 28 29* Document your changes! A brief report of changes in the Changelog file is 30 absolutely necessary. So is updating the doc files (powwow.doc, powwow_help 31 and README) Also, sending an e-mail to the code author/mantainer documenting 32 your changes will be appreciated. 33 34Report from cancan's "Hacking": 35 36******************************************************************************* 37 Remember, that although I (Yorick) am the original author, I don't dictate 38 the code; it is explicitly in the public domain. I am merely trying to keep 39 some kind of order; if versions are permitted to diverge, they are very 40 painful to merge later. Also, different version branches are very confusing, 41 and makes it hard to define the "latest and best" version. Please try to 42 synchronize your hacks into one - the latest - version! 43******************************************************************************* 44 45Well, Yorick refused to merge Powwow and Cancan, so now they both exist 46indipendently... Now I (Cosmos) say exactly the same thing Yorick said 47('do not let version diverge'), but I fear this will happen again :( 48Only difference is that powwow is now GPL-ed and not Public Domain. 49I hope this will help a little. 50 51* Rather than you just distributing your hacked version, I _really_ prefer you 52 to send back to me your changes, so that I can put them into the following 53 release. You lose nothing doing so, since even in case I refuse to include 54 your changes you can still distribute your version if you absolutely want :) 55 56 Even if you decide to distribute such a modified version, please 57 make it clear that it is not the original version, use a version number 58 which can't be confused with an original version, and put your name 59 in Changelog and in POWWOW_VERSION. 60 61* I've tried to make the code obey the following rules for modularity: 62 - All exported things from one .c file is declared in its .h file. 63 - Conversely, symbols are imported by #including .h files, 64 not by local extern declarations. 65 - Everything that can be static should be (this is not quite true yet) 66 67 Please obey these rules (or improve them). 68