[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