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:
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
13 After that is completed:
15 * Add meshlink_handle_t *mesh as the first argument to functions that need it
19 * Write code for all the functions in meshlink.c (some can be moved from libmeshlink.c)
23 * Use snprintf() instead of xasprintf() when generating filenames
24 - Use char filename[PATH_MAX] on the stack. No more need to free().