1 |
|
---|
2 | Code style / indentation
|
---|
3 | ------------------------
|
---|
4 | The file indent-all.sh contains information about the current code
|
---|
5 | style. Run this script before commits.
|
---|
6 |
|
---|
7 |
|
---|
8 | Variable argument macros
|
---|
9 | ------------------------
|
---|
10 | Variable argument macros are non-portable in general, and should be
|
---|
11 | avoided. Either use a second set of parentheses like DEBUG, or create
|
---|
12 | a variable argument function like error.
|
---|
13 |
|
---|
14 |
|
---|
15 | Structure
|
---|
16 | ---------
|
---|
17 | The core protocol stack should be system-independent (i.e. ANSI C89
|
---|
18 | only) so that it is easy to port. This currently applies to the
|
---|
19 | following files:
|
---|
20 |
|
---|
21 | bitmap.c licence.c orders.c rdp.c rdp5.c cache.c iso.c mcs.c
|
---|
22 | secure.c mppc.c channels.c
|
---|
23 | rdesktop.c
|
---|
24 |
|
---|
25 |
|
---|
26 | Compiler support
|
---|
27 | ----------------
|
---|
28 |
|
---|
29 | The source code should be compatible with ANSI C89. One exception is
|
---|
30 | the SeamlessRDP ServerEXE and ClientDLL, which should be compatible
|
---|
31 | with ANSI C99.
|
---|
32 |
|
---|
33 |
|
---|
34 | RDP resources
|
---|
35 | -------------
|
---|
36 | http://dev.remotenetworktechnology.com/refdata.htm
|
---|
37 |
|
---|
38 |
|
---|
39 | Checking for out of memory conditions
|
---|
40 | -------------------------------------
|
---|
41 | Try to handle out of memory conditions gracefully. Use the xmalloc
|
---|
42 | routines from rdesktop.c, instead of calling malloc manually. Also,
|
---|
43 | remember that several Xlib functions can return NULL. This includes
|
---|
44 | XGetImage. Use exit_if_null to verify returned pointers.
|
---|
45 |
|
---|