sheep.c:133:6: warning: variable ‘ret’ set but not used [-Wunused-but-set-variable] ... cluster/shepherd.c:278:7: warning: variable ‘removed’ set but not used [-Wunused-but-set-variable] ... cluster.c:279:8: warning: ignoring return value of ‘strtol’, declared with attribute warn_unused_result [-Wunused-result] Fix uninitialized_var() and use it to keep GCC happy. Signed-off-by: Liu Yuan <namei.unix at gmail.com> --- collie/cluster.c | 4 ++-- include/util.h | 2 +- sheep/cluster/shepherd.c | 3 ++- sheep/sheep.c | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/collie/cluster.c b/collie/cluster.c index 7bf537a..04d1587 100644 --- a/collie/cluster.c +++ b/collie/cluster.c @@ -274,9 +274,9 @@ static int save_snapshot(int argc, char **argv) { char *tag = argv[optind++]; char *path, *p; - int ret = EXIT_SYSFAIL; + int ret = EXIT_SYSFAIL, uninitialized_var(unused); - strtol(tag, &p, 10); + unused = strtol(tag, &p, 10); if (tag != p) { fprintf(stderr, "Tag should not start with number.\n"); return EXIT_USAGE; diff --git a/include/util.h b/include/util.h index 475c9cd..8b7634f 100644 --- a/include/util.h +++ b/include/util.h @@ -42,7 +42,7 @@ #define __printf(a, b) __attribute__((format(printf, a, b))) -#define uninitialized_var(x) (x = x) +#define uninitialized_var(x) x = x static inline int before(uint32_t seq1, uint32_t seq2) { diff --git a/sheep/cluster/shepherd.c b/sheep/cluster/shepherd.c index da28c55..ac57503 100644 --- a/sheep/cluster/shepherd.c +++ b/sheep/cluster/shepherd.c @@ -288,7 +288,8 @@ static void remove_one_block_event(void) removed = ev->removed = true; break; } - assert(removed); + if (!removed) + panic("removed is not true"); eventfd_write(sph_event_fd, 1); diff --git a/sheep/sheep.c b/sheep/sheep.c index 0238a9f..7326b3b 100644 --- a/sheep/sheep.c +++ b/sheep/sheep.c @@ -130,7 +130,7 @@ static int sigfd; static void signal_handler(int listen_fd, int events, void *data) { struct signalfd_siginfo siginfo; - int ret; + int uninitialized_var(ret); ret = read(sigfd, &siginfo, sizeof(siginfo)); assert(ret == sizeof(siginfo)); -- 1.7.9.5 |