]> git.meshlink.io Git - meshlink/blob - TODO
Start of a TODO file.
[meshlink] / TODO
1 TODO list for MeshLink
2 ----------------------
3
4 Refactoring: getting rid of global variables. Ultimately, no global variables
5 should be used by the library (if possible). Tinc uses quite a lot of global
6 variables. Refactoring this should go into steps:
7
8 * Temporarily create a global meshlink_handle_t *mesh (done)
9 * Move global variables to meshlink_handle_t (partially done)
10   - This means moving the declaration from the old .h file to meshlink_internal.h inside meshlink_handle_t
11   - Then doing sed 's/variable/mesh->&/g' *.c -i, and running make to check for any errors
12
13 After that is completed:
14
15 * Add meshlink_handle_t *mesh as the first argument to functions that need it
16
17 Then:
18
19 * Write code for all the functions in meshlink.c (some can be moved from libmeshlink.c)
20
21 Other tasks:
22
23 * Use snprintf() instead of xasprintf() when generating filenames
24   - Use char filename[PATH_MAX] on the stack. No more need to free().