diff options
Diffstat (limited to 'src/config_file.c')
| -rw-r--r-- | src/config_file.c | 53 |
1 files changed, 18 insertions, 35 deletions
diff --git a/src/config_file.c b/src/config_file.c index fc41590f6..f76efed97 100644 --- a/src/config_file.c +++ b/src/config_file.c @@ -1,26 +1,8 @@ /* - * This file is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License, version 2, - * as published by the Free Software Foundation. + * Copyright (C) 2009-2011 the libgit2 contributors * - * In addition to the permissions in the GNU General Public License, - * the authors give you unlimited permission to link the compiled - * version of this file into combinations with other programs, - * and to distribute those combinations without any restriction - * coming from the use of this file. (The General Public License - * restrictions do apply in other respects; for example, they cover - * modification of the file, and distribution when not linked into - * a combined executable.) - * - * This file is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; see the file COPYING. If not, write to - * the Free Software Foundation, 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. */ #include "common.h" @@ -135,7 +117,7 @@ static int cvar_match_section(const char *local, const char *input) { char *first_dot; char *local_sp = strchr(local, ' '); - int comparison_len; + size_t comparison_len; /* * If the local section name doesn't contain a space, then we can @@ -198,7 +180,8 @@ static int cvar_normalize_name(cvar_t *var, char **output) { char *section_sp = strchr(var->section, ' '); char *quote, *name; - int len, ret; + size_t len; + int ret; /* * The final string is going to be at most one char longer than @@ -245,7 +228,7 @@ static int cvar_normalize_name(cvar_t *var, char **output) static char *interiorize_section(const char *orig) { char *dot, *last_dot, *section, *ret; - int len; + size_t len; dot = strchr(orig, '.'); last_dot = strrchr(orig, '.'); @@ -530,7 +513,7 @@ static char *cfg_readline(diskfile_backend *cfg) { char *line = NULL; char *line_src, *line_end; - int line_len; + size_t line_len; line_src = cfg->reader.read_ptr; @@ -538,9 +521,9 @@ static char *cfg_readline(diskfile_backend *cfg) while (isspace(*line_src)) ++line_src; - line_end = strchr(line_src, '\n'); + line_end = strchr(line_src, '\n'); - /* no newline at EOF */ + /* no newline at EOF */ if (line_end == NULL) line_end = strchr(line_src, 0); @@ -552,10 +535,8 @@ static char *cfg_readline(diskfile_backend *cfg) memcpy(line, line_src, line_len); - line[line_len] = '\0'; - - while (--line_len >= 0 && isspace(line[line_len])) - line[line_len] = '\0'; + do line[line_len] = '\0'; + while (line_len-- > 0 && isspace(line[line_len])); if (*line_end == '\n') line_end++; @@ -600,7 +581,8 @@ GIT_INLINE(int) config_keychar(int c) static int parse_section_header_ext(const char *line, const char *base_name, char **section_name) { - int buf_len, total_len, pos, rpos; + size_t buf_len, total_len; + int pos, rpos; int c, ret; char *subsection, *first_quote, *last_quote; int error = GIT_SUCCESS; @@ -764,7 +746,7 @@ static int skip_bom(diskfile_backend *cfg) if (memcmp(cfg->reader.read_ptr, utf8_bom, sizeof(utf8_bom)) == 0) cfg->reader.read_ptr += sizeof(utf8_bom); - /* TODO: the reference implementation does pretty stupid + /* TODO: the reference implementation does pretty stupid shit with the BoM */ @@ -1035,7 +1017,7 @@ static int config_write(diskfile_backend *cfg, cvar_t *var) /* And then the write out rest of the file */ error = git_filebuf_write(&file, post_start, - cfg->reader.buffer.len - (post_start - data_start)); + cfg->reader.buffer.len - (post_start - data_start)); if (error < GIT_SUCCESS) { git__rethrow(error, "Failed to write the rest of the file"); @@ -1100,7 +1082,8 @@ static int is_multiline_var(const char *str) static int parse_multiline_variable(diskfile_backend *cfg, const char *first, char **out) { char *line = NULL, *end; - int error = GIT_SUCCESS, len, ret; + int error = GIT_SUCCESS, ret; + size_t len; char *buf; /* Check that the next line exists */ |
