Sophie

Sophie

distrib > Mandriva > 2009.1 > i586 > media > main-release-src > by-pkgid > 8b4b084a0836630a4368116f90c201bd > files > 2

reiserfsprogs-3.6.19-8mnb2.src.rpm

diff -urN reiserfsprogs-3.6.19.orig/fsck/Makefile.am reiserfsprogs-3.6.19/fsck/Makefile.am
--- reiserfsprogs-3.6.19.orig/fsck/Makefile.am	2004-02-17 12:35:12.000000000 +0100
+++ reiserfsprogs-3.6.19/fsck/Makefile.am	2008-03-03 17:33:15.111979386 +0100
@@ -7,5 +7,5 @@
 man_MANS = reiserfsck.8
 EXTRA_DIST = $(man_MANS)
 
-reiserfsck_LDADD = $(top_srcdir)/lib/libmisc.a $(top_srcdir)/reiserfscore/libcore.a
+reiserfsck_LDADD = $(top_srcdir)/lib/libmisc.a $(top_srcdir)/reiserfscore/libcore.a -lblkid
 
diff -urN reiserfsprogs-3.6.19.orig/fsck/Makefile.in reiserfsprogs-3.6.19/fsck/Makefile.in
--- reiserfsprogs-3.6.19.orig/fsck/Makefile.in	2004-10-13 15:06:12.000000000 +0200
+++ reiserfsprogs-3.6.19/fsck/Makefile.in	2008-03-03 17:33:24.916790765 +0100
@@ -129,7 +129,7 @@
 man_MANS = reiserfsck.8
 EXTRA_DIST = $(man_MANS)
 
-reiserfsck_LDADD = $(top_srcdir)/lib/libmisc.a $(top_srcdir)/reiserfscore/libcore.a
+reiserfsck_LDADD = $(top_srcdir)/lib/libmisc.a $(top_srcdir)/reiserfscore/libcore.a -lblkid
 subdir = fsck
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
diff -urN reiserfsprogs-3.6.19.orig/fsck/main.c reiserfsprogs-3.6.19/fsck/main.c
--- reiserfsprogs-3.6.19.orig/fsck/main.c	2004-10-07 16:04:08.000000000 +0200
+++ reiserfsprogs-3.6.19/fsck/main.c	2008-03-03 17:35:52.636005287 +0100
@@ -8,6 +8,7 @@
 #include <sys/resource.h>
 #include <sys/mman.h>
 #include <signal.h>
+#include <blkid/blkid.h>
 
 extern int screen_width;
 extern int screen_savebuffer_len;
@@ -1191,6 +1192,7 @@
 int main (int argc, char * argv [])
 {
     char * file_name;
+    char * devname;
     struct fsck_data * data;
     struct rlimit rlim = {RLIM_INFINITY, RLIM_INFINITY};
     char *width;
@@ -1219,6 +1221,11 @@
     data = getmem (sizeof (struct fsck_data));
 
     file_name = parse_options (data, argc, argv);
+    devname = blkid_get_devname(NULL, file_name, 0);
+    if (!devname) {
+	reiserfs_exit(EXIT_OPER, "reiserfsck: Unable to resolve %s", file_name);
+    }
+    file_name = devname;
 
     if (data->mode != FSCK_AUTO)
 	print_banner ("reiserfsck");