[Spice-devel] [PATCH 14/18] Make error simpler in reds_stat
Pavel Grunt
pgrunt at redhat.com
Mon Sep 26 09:15:48 UTC 2016
On Mon, 2016-09-26 at 09:12 +0100, Frediano Ziglio wrote:
> There's no reason for so hard optimisations so avoid
> having to maintain multiple labels.
>
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
Acked-by: Pavel Grunt <pgrunt at redhat.com>
> ---
> tools/reds_stat.c | 20 ++++++++++----------
> 1 file changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/tools/reds_stat.c b/tools/reds_stat.c
> index 07fd732..945659e 100644
> --- a/tools/reds_stat.c
> +++ b/tools/reds_stat.c
> @@ -31,7 +31,7 @@
> #define VALUE_TABS 7
> #define INVALID_STAT_REF (~(uint32_t)0)
>
> -static SpiceStat *reds_stat = NULL;
> +static SpiceStat *reds_stat = (SpiceStat *)MAP_FAILED;
> static uint64_t *values = NULL;
>
> static inline void ignore_result(int res)
> @@ -90,15 +90,15 @@ int main(int argc, char **argv)
> reds_stat = (SpiceStat *)mmap(NULL, shm_size, PROT_READ,
> MAP_SHARED, fd, 0);
> if (reds_stat == (SpiceStat *)MAP_FAILED) {
> perror("mmap");
> - goto error1;
> + goto error;
> }
> if (reds_stat->magic != SPICE_STAT_MAGIC) {
> printf("bad magic %u\n", reds_stat->magic);
> - goto error2;
> + goto error;
> }
> if (reds_stat->version != SPICE_STAT_VERSION) {
> printf("bad version %u\n", reds_stat->version);
> - goto error2;
> + goto error;
> }
> while (1) {
> ignore_result(system("clear"));
> @@ -110,12 +110,12 @@ int main(int argc, char **argv)
> reds_stat = mremap(reds_stat, shm_old_size, shm_size,
> MREMAP_MAYMOVE);
> if (reds_stat == (SpiceStat *)MAP_FAILED) {
> perror("mremap");
> - goto error3;
> + goto error;
> }
> values = (uint64_t *)realloc(values, num_of_nodes *
> sizeof(uint64_t));
> if (values == NULL) {
> perror("realloc");
> - goto error3;
> + goto error;
> }
> memset(values, 0, num_of_nodes * sizeof(uint64_t));
> }
> @@ -124,11 +124,11 @@ int main(int argc, char **argv)
> }
> ret = 0;
>
> -error3:
> +error:
> free(values);
> -error2:
> - munmap(reds_stat, shm_size);
> -error1:
> + if (reds_stat != (SpiceStat *)MAP_FAILED) {
> + munmap(reds_stat, shm_size);
> + }
> shm_unlink(shm_name);
> free(shm_name);
> return ret;
>
More information about the Spice-devel
mailing list