a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncCode style / indentation
a180a41bba1d50822df23fff0099e90b86638b89vboxsync------------------------
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncThe file indent-all.sh contains information about the current code
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncstyle. Run this script before commits.
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncVariable argument macros
a180a41bba1d50822df23fff0099e90b86638b89vboxsync------------------------
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncVariable argument macros are non-portable in general, and should be
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncavoided. Either use a second set of parentheses like DEBUG, or create
a180a41bba1d50822df23fff0099e90b86638b89vboxsynca variable argument function like error.
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncStructure
a180a41bba1d50822df23fff0099e90b86638b89vboxsync---------
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncThe core protocol stack should be system-independent (i.e. ANSI C89
a180a41bba1d50822df23fff0099e90b86638b89vboxsynconly) so that it is easy to port. This currently applies to the
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncfollowing files:
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncbitmap.c licence.c orders.c rdp.c rdp5.c cache.c iso.c mcs.c
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncsecure.c mppc.c channels.c
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncrdesktop.c
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncCompiler support
a180a41bba1d50822df23fff0099e90b86638b89vboxsync----------------
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncThe source code should be compatible with ANSI C89. One exception is
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncthe SeamlessRDP ServerEXE and ClientDLL, which should be compatible
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncwith ANSI C99.
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncRDP resources
a180a41bba1d50822df23fff0099e90b86638b89vboxsync-------------
a180a41bba1d50822df23fff0099e90b86638b89vboxsynchttp://dev.remotenetworktechnology.com/refdata.htm
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsync
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncChecking for out of memory conditions
a180a41bba1d50822df23fff0099e90b86638b89vboxsync-------------------------------------
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncTry to handle out of memory conditions gracefully. Use the xmalloc
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncroutines from rdesktop.c, instead of calling malloc manually. Also,
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncremember that several Xlib functions can return NULL. This includes
a180a41bba1d50822df23fff0099e90b86638b89vboxsyncXGetImage. Use exit_if_null to verify returned pointers.
a180a41bba1d50822df23fff0099e90b86638b89vboxsync