diff options
Diffstat (limited to 'share/doc/hacking.md')
-rw-r--r-- | share/doc/hacking.md | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/share/doc/hacking.md b/share/doc/hacking.md new file mode 100644 index 00000000..bf060531 --- /dev/null +++ b/share/doc/hacking.md @@ -0,0 +1,59 @@ +# HexChat Hacking Guidelines + +Just some tips if you're going to help with HexChat code (patches etc): + +* Use tabs, not spaces, to indent code. + +* Use a tab size of 3 (most editors will let you choose this). + Type :set ts=3 in vim/gvim. + +* Try to stick to the same consistant coding style: + +<pre>void +routine (void) +{ + if (function (a, b, c)) + { + x = a + 1; + } +}</pre> + + (vertically aligned braces, a space after if, while, functions etc). + +* Don't use "//" C++ style comments, some compilers don't like them. + +* When opening a file with Unix level functions (open, read/write, close) + as opposed to the C level functions (fopen, fwrite/fread, fclose), use + the OFLAGS macro. This makes sure it'll work on Win32 aswell as Unix e.g.: + + <pre>fh = open ("file", OFLAGS | O_RDONLY);</pre> + +* Use closesocket() for sockets, and close() for normal files. + +* Don't read() from sockets, use recv() instead. + +* Please provide unified format diffs (run diff -u). + +* Call your patch something more meaningfull than hexchat.diff. + +* To make a really nice and clean patch, do something like this: + + * Have two directories, unpacked from the original archive: + + <pre>hexchat-2.9.0/ + hexchat-2.9.0p1/</pre> + + * Then edit/compile the hexchat-2.9.0p1 directory. To create a patch: + + * Windows: + + <pre>rmdir /q /s hexchat-2.9.0p1/win32/build + rmdir /q /s hexchat-2.9.0p1/win32/build-xp + diff -ruN --strip-trailing-cr hexchat-2.9.0 hexchat-2.9.0p1 > hexchat-something.diff + </pre> + + * Unix: + + <pre>diff -ruN hexchat-2.9.0 hexchat-2.9.0p1 > hexchat-something.diff</pre> + + |