Wed, 22 May 2013 13:00:36 +0200
line sum per directory now displayed + directories without matching files are no longer displayed when -m is used + new buffering strategy replaces stream hack when -V is used
/* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * Copyright 2013 Mike Becker. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * settings.c * * Created on: 15.09.2011 * Author: Mike */ #include "settings.h" settings_t* new_settings_t() { settings_t *settings = malloc(sizeof(settings_t)); if (settings != NULL) { #ifdef _WIN32 settings->fileSeparator = '\\'; #else settings->fileSeparator = '/'; #endif /* _WIN32 */ settings->recursive = false; settings->matchesOnly = false; settings->includeSuffixes = new_string_list_t(); settings->excludeSuffixes = new_string_list_t(); settings->verbose = true; settings->bfileHeuristics = new_bfile_heuristics_t(); settings->confusing_lnlen = false; settings->regex = new_regex_parser_t(); } return settings; } void destroy_settings_t(settings_t* settings) { destroy_regex_parser_t(settings->regex); destroy_string_list_t(settings->includeSuffixes); destroy_string_list_t(settings->excludeSuffixes); destroy_bfile_heuristics_t(settings->bfileHeuristics); free(settings); }