[Libvir] [PATCH] Ancient libparted

Jim Meyering jim at meyering.net
Tue Apr 29 12:32:08 UTC 2008


"Richard W.M. Jones" <rjones at redhat.com> wrote:
> On Tue, Apr 29, 2008 at 09:54:04AM +0200, Soren Hansen wrote:
>> Some of us are stuck with an ancient libparted, which doesn't know about
>> PED_PARTITION_PROTECTED. This patch allows us to compile libvirt.
>> === modified file 'src/parthelper.c'
>> --- src/parthelper.c	2008-04-10 16:53:29 +0000
>> +++ src/parthelper.c	2008-04-29 07:47:08 +0000
>> @@ -67,8 +67,10 @@
>>                  content = "free";
>>              else if (part->type & PED_PARTITION_METADATA)
>>                  content = "metadata";
>> +#ifdef PED_PARTITION_PROTECTED
>>              else if (part->type & PED_PARTITION_PROTECTED)
>>                  content = "protected";
>> +#endif
>>              else
>>                  content = "data";
>>          } else if (part->type == PED_PARTITION_EXTENDED) {
>> @@ -80,8 +82,10 @@
>>                  content = "free";
>>              else if (part->type & PED_PARTITION_METADATA)
>>                  content = "metadata";
>> +#ifdef PED_PARTITION_PROTECTED
>>              else if (part->type & PED_PARTITION_PROTECTED)
>>                  content = "protected";
>> +#endif
>>              else
>>                  content = "data";
>>          }
>
> Yup, I'll apply this.

Hi guys,

We prefer to avoid in-function #if directives, when possible,
so I'll apply this on top of what's now in cvs:

	Avoid in-function #if directives.
	* src/parthelper.c [!PED_PARTITION_PROTECTED]: Define to 0.
	Remove in-function #ifdefs.

diff --git a/src/parthelper.c b/src/parthelper.c
index a0fe241..1cd7240 100644
--- a/src/parthelper.c
+++ b/src/parthelper.c
@@ -35,6 +35,12 @@
 #include <parted/parted.h>
 #include <stdio.h>

+/* Make the comparisons below fail if your parted headers
+   are so old that they lack the definition.  */
+#ifndef PED_PARTITION_PROTECTED
+# define PED_PARTITION_PROTECTED 0
+#endif
+
 int main(int argc, char **argv)
 {
     PedDevice *dev;
@@ -67,10 +73,8 @@ int main(int argc, char **argv)
                 content = "free";
             else if (part->type & PED_PARTITION_METADATA)
                 content = "metadata";
-#ifdef PED_PARTITION_PROTECTED
             else if (part->type & PED_PARTITION_PROTECTED)
                 content = "protected";
-#endif
             else
                 content = "data";
         } else if (part->type == PED_PARTITION_EXTENDED) {
@@ -82,10 +86,8 @@ int main(int argc, char **argv)
                 content = "free";
             else if (part->type & PED_PARTITION_METADATA)
                 content = "metadata";
-#ifdef PED_PARTITION_PROTECTED
             else if (part->type & PED_PARTITION_PROTECTED)
                 content = "protected";
-#endif
             else
                 content = "data";
         }
--
1.5.5.1.68.gbdcd8




More information about the libvir-list mailing list