rdesktop/doc/HACKING
Peter Åstrand 09e3df9353 Let's allow C99 in SeamlessRDP. The current code is not compatible with C89 anyway.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1440 423420c4-83ab-492f-b58f-81f9feb106b5
2008-03-06 15:28:32 +00:00

46 lines
1.2 KiB
Plaintext

Code style / indentation
------------------------
The file indent-all.sh contains information about the current code
style. Run this script before commits.
Variable argument macros
------------------------
Variable argument macros are non-portable in general, and should be
avoided. Either use a second set of parentheses like DEBUG, or create
a variable argument function like error.
Structure
---------
The core protocol stack should be system-independent (i.e. ANSI C89
only) so that it is easy to port. This currently applies to the
following files:
bitmap.c licence.c orders.c rdp.c rdp5.c cache.c iso.c mcs.c
secure.c mppc.c channels.c
rdesktop.c
Compiler support
----------------
The source code should be compatible with ANSI C89. One exception is
the SeamlessRDP ServerEXE and ClientDLL, which should be compatible
with ANSI C99.
RDP resources
-------------
http://dev.remotenetworktechnology.com/refdata.htm
Checking for out of memory conditions
-------------------------------------
Try to handle out of memory conditions gracefully. Use the xmalloc
routines from rdesktop.c, instead of calling malloc manually. Also,
remember that several Xlib functions can return NULL. This includes
XGetImage. Use exit_if_null to verify returned pointers.