about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/filesystems/fatresize/fatresize_parted_nix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools/filesystems/fatresize/fatresize_parted_nix.patch')
-rw-r--r--nixpkgs/pkgs/tools/filesystems/fatresize/fatresize_parted_nix.patch74
1 files changed, 74 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/filesystems/fatresize/fatresize_parted_nix.patch b/nixpkgs/pkgs/tools/filesystems/fatresize/fatresize_parted_nix.patch
new file mode 100644
index 000000000000..e9aa87a2d564
--- /dev/null
+++ b/nixpkgs/pkgs/tools/filesystems/fatresize/fatresize_parted_nix.patch
@@ -0,0 +1,74 @@
+diff --git a/aclocal.m4 b/aclocal.m4
+index 18e8176..2e75592 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -88,8 +88,15 @@ int main ()
+ 	if ( !(version = ped_get_version ()) )
+ 		exit(1);
+ 	if (sscanf(version, "%d.%d.%d", &major, &minor, &micro) != 3) {
+-		printf("%s, bad version string\n", version);
+-		exit(1);
++		if (sscanf(version, "%d.%d", &major, &minor) != 2)
++		{
++		  printf("%s, bad version string\n", version);
++		  exit(1);
++		}
++		else
++		{
++		  micro = 0;
++		}
+ 	}
+ 	
+ 	if ((major > $parted_config_major_version) ||
+diff --git a/configure b/configure
+index ed31457..e5f1705 100755
+--- a/configure
++++ b/configure
+@@ -4793,8 +4793,15 @@ int main ()
+ 	if ( !(version = ped_get_version ()) )
+ 		exit(1);
+ 	if (sscanf(version, "%d.%d.%d", &major, &minor, &micro) != 3) {
+-		printf("%s, bad version string\n", version);
+-		exit(1);
++		if (sscanf(version, "%d.%d", &major, &minor) != 2)
++		{
++		  printf("%s, bad version string\n", version);
++		  exit(1);
++		}
++		else
++		{
++		  micro = 0;
++		}
+ 	}
+ 
+ 	if ((major > $parted_config_major_version) ||
+diff --git a/fatresize.c b/fatresize.c
+index 424d5d2..e439102 100644
+--- a/fatresize.c
++++ b/fatresize.c
+@@ -30,6 +30,7 @@
+ #include <inttypes.h>
+ #include <parted/parted.h>
+ #include <parted/debug.h>
++#include <parted/filesys.h>
+ #include <parted/unit.h>
+ 
+ #include "config.h"
+@@ -217,7 +218,7 @@ fatresize_handler(PedException *ex)
+ static int
+ snap(PedSector* sector, PedSector new_sector, PedGeometry* range)
+ {
+-    PED_ASSERT(ped_geometry_test_sector_inside (range, *sector), return 0);
++    PED_ASSERT(ped_geometry_test_sector_inside (range, *sector));
+     if (!ped_geometry_test_sector_inside(range, new_sector))
+ 	return 0;
+ 
+@@ -281,7 +282,7 @@ snap_to_boundaries (PedGeometry* new_geom, PedGeometry* old_geom,
+ 			  end_part->geom.end, end_part->geom.start - 1, -1);
+ 	}
+ 
+-	PED_ASSERT (start <= end, return);
++	PED_ASSERT (start <= end);
+ 	ped_geometry_set (new_geom, start, end - start + 1);
+ }
+