perf_counter tools: Add more warnings and fix/annotate them
Enable -Wextra. This found a few real bugs plus a number of signed/unsigned type mismatches/uncleanlinesses. It also required a few annotations All things considered it was still worth it so lets try with this enabled for now. Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Mike Galbraith <efault@gmx.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
@@ -47,10 +47,12 @@ static int get_next_char(void)
|
||||
static char *parse_value(void)
|
||||
{
|
||||
static char value[1024];
|
||||
int quote = 0, comment = 0, len = 0, space = 0;
|
||||
int quote = 0, comment = 0, space = 0;
|
||||
size_t len = 0;
|
||||
|
||||
for (;;) {
|
||||
int c = get_next_char();
|
||||
|
||||
if (len >= sizeof(value) - 1)
|
||||
return NULL;
|
||||
if (c == '\n') {
|
||||
@@ -353,13 +355,13 @@ int perf_config_string(const char **dest, const char *var, const char *value)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int perf_default_core_config(const char *var, const char *value)
|
||||
static int perf_default_core_config(const char *var __used, const char *value __used)
|
||||
{
|
||||
/* Add other config variables here and to Documentation/config.txt. */
|
||||
return 0;
|
||||
}
|
||||
|
||||
int perf_default_config(const char *var, const char *value, void *dummy)
|
||||
int perf_default_config(const char *var, const char *value, void *dummy __used)
|
||||
{
|
||||
if (!prefixcmp(var, "core."))
|
||||
return perf_default_core_config(var, value);
|
||||
@@ -471,10 +473,10 @@ static int matches(const char* key, const char* value)
|
||||
!regexec(store.value_regex, value, 0, NULL, 0)));
|
||||
}
|
||||
|
||||
static int store_aux(const char* key, const char* value, void *cb)
|
||||
static int store_aux(const char* key, const char* value, void *cb __used)
|
||||
{
|
||||
int section_len;
|
||||
const char *ep;
|
||||
size_t section_len;
|
||||
|
||||
switch (store.state) {
|
||||
case KEY_SEEN:
|
||||
@@ -551,7 +553,7 @@ static int store_write_section(int fd, const char* key)
|
||||
strbuf_addf(&sb, "[%.*s]\n", store.baselen, key);
|
||||
}
|
||||
|
||||
success = write_in_full(fd, sb.buf, sb.len) == sb.len;
|
||||
success = (write_in_full(fd, sb.buf, sb.len) == (ssize_t)sb.len);
|
||||
strbuf_release(&sb);
|
||||
|
||||
return success;
|
||||
@@ -599,7 +601,7 @@ static int store_write_pair(int fd, const char* key, const char* value)
|
||||
}
|
||||
strbuf_addf(&sb, "%s\n", quote);
|
||||
|
||||
success = write_in_full(fd, sb.buf, sb.len) == sb.len;
|
||||
success = (write_in_full(fd, sb.buf, sb.len) == (ssize_t)sb.len);
|
||||
strbuf_release(&sb);
|
||||
|
||||
return success;
|
||||
@@ -741,7 +743,7 @@ int perf_config_set_multivar(const char* key, const char* value,
|
||||
} else {
|
||||
struct stat st;
|
||||
char* contents;
|
||||
size_t contents_sz, copy_begin, copy_end;
|
||||
ssize_t contents_sz, copy_begin, copy_end;
|
||||
int i, new_line = 0;
|
||||
|
||||
if (value_regex == NULL)
|
||||
|
Reference in New Issue
Block a user