bug-parted
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Compile warning-free with "gcc -Wall -Wshadow".


From: Jim Meyering
Subject: [PATCH] Compile warning-free with "gcc -Wall -Wshadow".
Date: Mon, 12 Feb 2007 23:35:30 +0100

Hello,

I find that keeping code warning-free (wrt gcc -Wall -Wshadow)
makes it easier to avoid certain classes of bugs.

Compiling with gcc -Wall -Wshadow evoked a few warnings
on a Debian/unstable system.  Here are patches to fix those:

* libparted/exception.c (default_handler): Rename parameter "ex"
to "e", to avoid shadowing file-scoped global.
* libparted/fs/linux_swap/linux_swap.c (_generic_swap_probe): Add a
"can't happen" (with current callers) "default: goto error" clause
in a switch to avoid a may-be-used-uninitialized warning.
(_generic_swap_clobber): Likewise.
* libparted/fs/hfs/reloc_plus.c (hfsplus_pack_free_space_from_block):
Rename local variable "div" to "divisor", to avoid shadowing
the function in <stdlib.h>.
* libparted/fs/hfs/reloc.c (hfs_pack_free_space_from_block): Likewise.
* libparted/fs/hfs/cache.c (hfsc_cache_add_extent): Rename parameter
"index" to "ref_index" to avoid shadowing the <string.h> function.
* libparted/labels/sun.c (sun_partition_enumerate): Rename local
variable "i" to "j", to avoid shadowing another local.

Signed-off-by: Jim Meyering <address@hidden>
---
 libparted/exception.c                |   14 +++++++-------
 libparted/fs/hfs/cache.c             |    4 ++--
 libparted/fs/hfs/reloc.c             |    8 ++++----
 libparted/fs/hfs/reloc_plus.c        |    8 ++++----
 libparted/fs/linux_swap/linux_swap.c |   12 +++++++++---
 libparted/labels/sun.c               |    6 +++---
 6 files changed, 29 insertions(+), 23 deletions(-)

diff --git a/libparted/exception.c b/libparted/exception.c
index 8b8b306..798e69c 100644
--- a/libparted/exception.c
+++ b/libparted/exception.c
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+    Copyright (C) 1999, 2000, 2007 Free Software Foundation, Inc.
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -126,9 +126,9 @@ ped_exception_get_option_string (PedExceptionOption ex_opt)
 }
 
 static PedExceptionOption
-default_handler (PedException* ex)
+default_handler (PedException* e)
 {
-       if (ex->type == PED_EXCEPTION_BUG)
+       if (e->type == PED_EXCEPTION_BUG)
                fprintf (stderr,
                        _("A bug has been detected in GNU Parted.  "
                        "Refer to the web site of parted "
@@ -141,14 +141,14 @@ default_handler (PedException* ex)
                        VERSION);
        else
                fprintf (stderr, "%s: ",
-                        ped_exception_get_type_string (ex->type));
-       fprintf (stderr, "%s\n", ex->message);
+                        ped_exception_get_type_string (e->type));
+       fprintf (stderr, "%s\n", e->message);
 
-       switch (ex->options) {
+       switch (e->options) {
                case PED_EXCEPTION_OK:
                case PED_EXCEPTION_CANCEL:
                case PED_EXCEPTION_IGNORE:
-                       return ex->options;
+                       return e->options;
 
                default:
                        return PED_EXCEPTION_UNHANDLED;
diff --git a/libparted/fs/hfs/cache.c b/libparted/fs/hfs/cache.c
index 8e4339c..22c4a3c 100644
--- a/libparted/fs/hfs/cache.c
+++ b/libparted/fs/hfs/cache.c
@@ -119,7 +119,7 @@ hfsc_delete_cache(HfsCPrivateCache* cache)
 HfsCPrivateExtent*
 hfsc_cache_add_extent(HfsCPrivateCache* cache, uint32_t start, uint32_t length,
                      uint32_t block, uint16_t offset, uint8_t sbb,
-                     uint8_t where, uint8_t index)
+                     uint8_t where, uint8_t ref_index)
 {
        HfsCPrivateExtent*      ext;
        unsigned int            idx = start >> CR_SHIFT;
@@ -160,7 +160,7 @@ hfsc_cache_add_extent(HfsCPrivateCache* cache, uint32_t 
start, uint32_t length,
        ext->ref_offset = offset;
        ext->sect_by_block = sbb;
        ext->where = where;
-       ext->ref_index = index;
+       ext->ref_index = ref_index;
 
        ext->next = cache->linked_ref[idx];
        cache->linked_ref[idx] = ext;
diff --git a/libparted/fs/hfs/reloc.c b/libparted/fs/hfs/reloc.c
index 1e70893..44bb82b 100644
--- a/libparted/fs/hfs/reloc.c
+++ b/libparted/fs/hfs/reloc.c
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+    Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -593,8 +593,8 @@ hfs_pack_free_space_from_block (PedFileSystem *fs, unsigned 
int fblock,
        HfsCPrivateCache*       cache;
        unsigned int            to_fblock = fblock;
        unsigned int            start = fblock;
-       unsigned int            div = PED_BE16_TO_CPU (mdb->total_blocks)
-                                     + 1 - start - to_free;
+       unsigned int            divisor = PED_BE16_TO_CPU (mdb->total_blocks)
+                                         + 1 - start - to_free;
        int                     ret;
 
        PED_ASSERT (!hfs_block, return 0);
@@ -654,7 +654,7 @@ hfs_pack_free_space_from_block (PedFileSystem *fs, unsigned 
int fblock,
                        fblock++;
                }
 
-               ped_timer_update(timer, (float)(to_fblock - start)/div);
+               ped_timer_update(timer, (float)(to_fblock - start)/divisor);
        }
 
        ped_free (hfs_block); hfs_block = NULL; hfs_block_count = 0;
diff --git a/libparted/fs/hfs/reloc_plus.c b/libparted/fs/hfs/reloc_plus.c
index 0a00253..6191e43 100644
--- a/libparted/fs/hfs/reloc_plus.c
+++ b/libparted/fs/hfs/reloc_plus.c
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+    Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -866,8 +866,8 @@ hfsplus_pack_free_space_from_block (PedFileSystem *fs, 
unsigned int fblock,
        HfsCPrivateCache*       cache;
        unsigned int            to_fblock = fblock;
        unsigned int            start = fblock;
-       unsigned int            div = PED_BE32_TO_CPU (vh->total_blocks)
-                                     + 1 - start - to_free;
+       unsigned int            divisor = PED_BE32_TO_CPU (vh->total_blocks)
+                                         + 1 - start - to_free;
        int                     ret;
 
        PED_ASSERT (!hfsp_block, return 0);
@@ -929,7 +929,7 @@ hfsplus_pack_free_space_from_block (PedFileSystem *fs, 
unsigned int fblock,
                        fblock++;
                }
 
-               ped_timer_update(timer, (float)(to_fblock - start) / div);
+               ped_timer_update(timer, (float)(to_fblock - start) / divisor);
        }
 
        ped_free (hfsp_block); hfsp_block = NULL; hfsp_block_count = 0;
diff --git a/libparted/fs/linux_swap/linux_swap.c 
b/libparted/fs/linux_swap/linux_swap.c
index d3faea6..d57db00 100644
--- a/libparted/fs/linux_swap/linux_swap.c
+++ b/libparted/fs/linux_swap/linux_swap.c
@@ -1,6 +1,6 @@
 /*
     libparted - a library for manipulating disk partitions
-    Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
+    Copyright (C) 1999, 2000, 2002, 2007 Free Software Foundation, Inc.
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -93,12 +93,15 @@ _generic_swap_probe (PedGeometry* geom, int kind)
                        break;
        /* Check for new style swap partitions. */
                case 1:
-                 fs = _swap_v2_open(geom);
+                       fs = _swap_v2_open(geom);
                        break;
        /* Check for swap partitions containing swsusp data. */
                case -1:
                        fs = _swap_swsusp_open(geom);
                         break;
+
+               default:
+                       goto error; /* Not reached */
         }
 
        if (!fs)
@@ -136,12 +139,15 @@ _generic_swap_clobber (PedGeometry* geom, int kind)
                        break;
        /* Check for new style swap partitions. */
                case 1:
-                 fs = _swap_v2_open(geom);
+                       fs = _swap_v2_open(geom);
                        break;
        /* Check for swap partitions containing swsusp data. */
                case -1:
                        fs = _swap_swsusp_open(geom);
                         break;
+
+               default:
+                       goto error; /* Not reached */
         }
 
        if (!fs)
diff --git a/libparted/labels/sun.c b/libparted/labels/sun.c
index e5aa6fb..253f317 100644
--- a/libparted/labels/sun.c
+++ b/libparted/labels/sun.c
@@ -1,7 +1,7 @@
 /* -*- Mode: c; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
 
     libparted - a library for manipulating disk partitions
-    Copyright (C) 2000, 2001, 2005 Free Software Foundation, Inc.
+    Copyright (C) 2000, 2001, 2005, 2007 Free Software Foundation, Inc.
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -728,7 +728,7 @@ sun_partition_enumerate (PedPartition* part)
        /* Ok, now allocate the Whole disk if it isn't already */
        p = ped_disk_get_partition (part->disk, WHOLE_DISK_PART + 1);
        if (!p) {
-               int i = ped_exception_throw (
+               int j = ped_exception_throw (
                                PED_EXCEPTION_WARNING,
                                PED_EXCEPTION_IGNORE_CANCEL,
                                _("The Whole Disk partition is the only "
@@ -737,7 +737,7 @@ sun_partition_enumerate (PedPartition* part)
                                  "a real one.  Solaris may not be able to "
                                  "boot without it, and SILO (the sparc boot "
                                  "loader) appreciates it as well."));
-               if (i == PED_EXCEPTION_IGNORE) {
+               if (j == PED_EXCEPTION_IGNORE) {
                        /* bad bad bad...you will suffer your own fate */
                        part->num = WHOLE_DISK_PART + 1;
                        return 1;
-- 
1.5.0.rc4.26.gcc46a-dirty





reply via email to

[Prev in Thread] Current Thread [Next in Thread]