| 24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 25 */ |
25 */ |
| 26 |
26 |
| 27 #include "settings.h" |
27 #include "settings.h" |
| 28 |
28 |
| 29 settings_t* new_settings_t() { |
29 settings* new_settings() { |
| 30 settings_t *settings = malloc(sizeof(settings_t)); |
30 settings *s = malloc(sizeof(settings)); |
| 31 if (settings != NULL) { |
31 if (s != NULL) { |
| 32 #ifdef _WIN32 |
32 #ifdef _WIN32 |
| 33 settings->fileSeparator = '\\'; |
33 s->fileSeparator = '\\'; |
| 34 #else |
34 #else |
| 35 settings->fileSeparator = '/'; |
35 s->fileSeparator = '/'; |
| 36 #endif /* _WIN32 */ |
36 #endif /* _WIN32 */ |
| 37 settings->recursive = false; |
37 s->recursive = false; |
| 38 settings->matchesOnly = false; |
38 s->matchesOnly = false; |
| 39 settings->includeSuffixes = new_string_list_t(); |
39 s->includeSuffixes = new_string_list(); |
| 40 settings->excludeSuffixes = new_string_list_t(); |
40 s->excludeSuffixes = new_string_list(); |
| 41 settings->excludeDirs = new_string_list_t(); |
41 s->excludeDirs = new_string_list(); |
| 42 settings->verbose = true; |
42 s->verbose = true; |
| 43 settings->bfileHeuristics = new_bfile_heuristics_t(); |
43 s->bfileHeuristics = new_bfile_heuristics(); |
| 44 settings->confusing_lnlen = false; |
44 s->confusing_lnlen = false; |
| 45 settings->regex = new_regex_parser_t(); |
45 s->regex = new_regex_parser(); |
| 46 settings->individual_sums = false; |
46 s->individual_sums = false; |
| 47 settings->count_chars = false; |
47 s->count_chars = false; |
| 48 settings->dirsOnly = false; |
48 s->dirsOnly = false; |
| 49 } |
49 } |
| 50 |
50 |
| 51 return settings; |
51 return s; |
| 52 } |
52 } |
| 53 |
53 |
| 54 void destroy_settings_t(settings_t* settings) { |
54 void destroy_settings(settings* settings) { |
| 55 destroy_regex_parser_t(settings->regex); |
55 destroy_regex_parser(settings->regex); |
| 56 destroy_string_list_t(settings->includeSuffixes); |
56 destroy_string_list(settings->includeSuffixes); |
| 57 destroy_string_list_t(settings->excludeSuffixes); |
57 destroy_string_list(settings->excludeSuffixes); |
| 58 destroy_string_list_t(settings->excludeDirs); |
58 destroy_string_list(settings->excludeDirs); |
| 59 destroy_bfile_heuristics_t(settings->bfileHeuristics); |
59 destroy_bfile_heuristics(settings->bfileHeuristics); |
| 60 free(settings); |
60 free(settings); |
| 61 } |
61 } |