[parted-devel] [PATCH 2/2] parted: make align-check work in interactive mode

Petr Uzel petr.uzel at suse.cz
Wed May 26 12:29:01 UTC 2010


* parted/parted.c (do_align_check): rework the function so that
it reports partition alignment in interactive mode as described in
documentation.
---
 parted/parted.c |   21 ++++++++++++++++-----
 1 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/parted/parted.c b/parted/parted.c
index 830075b..7198b92 100644
--- a/parted/parted.c
+++ b/parted/parted.c
@@ -2078,18 +2078,29 @@ do_align_check (PedDevice **dev)
 {
   PedDisk *disk = ped_disk_new (*dev);
   if (!disk)
-    return 0;
+    goto error;
 
   enum AlignmentType align_type = PA_OPTIMUM;
   PedPartition *part = NULL;
-  bool aligned =
-    (command_line_get_align_type (_("alignment type(min/opt)"), &align_type)
-     && command_line_get_partition (_("Partition number?"), disk, &part)
-     && partition_align_check (disk, part, align_type));
+
+  if (!command_line_get_align_type (_("alignment type(min/opt)"), &align_type))
+    goto error_destroy_disk;
+  if (!command_line_get_partition (_("Partition number?"), disk, &part))
+    goto error_destroy_disk;
+
+  bool aligned = partition_align_check (disk, part, align_type);
+  if (!opt_script_mode)
+    printf(aligned ? _("%d aligned\n") : _("%d NOT aligned\n"), part->num);
 
   ped_disk_destroy (disk);
 
+  /* FIXME: perhaps we should always return 1 when in interactive mode???  */
   return aligned ? 1 : 0;
+
+error_destroy_disk:
+  ped_disk_destroy (disk);
+error:
+  return 0;
 }
 
 static int
-- 
1.6.4.2


Petr

--
Petr Uzel
IRC: ptr_uzl @ freenode
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/parted-devel/attachments/20100526/ba49aa8c/attachment.pgp>


More information about the parted-devel mailing list