]> git.wh0rd.org - dump.git/blobdiff - compat/lib/fstab.c
kill "register".
[dump.git] / compat / lib / fstab.c
index 32e6b028444fac6ff915308ac52f617280775842..de95455debc40b916a6f25112eda8ddf1e369cb1 100644 (file)
@@ -2,8 +2,8 @@
  *     Ported to Linux's Second Extended File System as part of the
  *     dump and restore backup suit
  *     Remy Card <card@Linux.EU.Org>, 1994-1997
- *      Stelian Pop <pop@cybercable.fr>, 1999
- *
+ *     Stelian Pop <stelian@popies.net>, 1999-2000
+ *     Stelian Pop <stelian@popies.net> - AlcĂ´ve <www.alcove.com>, 2000-2002
  */
 
 /*
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- *
- * $Id: fstab.c,v 1.4 1999/10/11 13:31:10 stelian Exp $
  */
 
+#ifndef lint
+static const char rcsid[] =
+       "$Id: fstab.c,v 1.13 2002/01/25 15:08:59 stelian Exp $";
+#endif /* not lint */
+
+#include <config.h>
 #include <errno.h>
 #include <fstab.h>
 #include <mntent.h>
@@ -48,6 +52,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
+#include <bylabel.h>
 
 static FILE *_fs_fp;
 static struct fstab _fs_fstab;
@@ -55,20 +60,28 @@ static struct fstab _fs_fstab;
 static void error __P((int));
 static int fstabscan __P((void));
 
+void msg __P((const char *fmt, ...));
+
 static
 int fstabscan(void)
 {
        struct mntent   *mnt;
-       register char *cp;
+       char *cp;
        int typexx;
 #define        MAXLINELENGTH   1024
        char subline[MAXLINELENGTH];
 
        for (;;) {
+               const char *device_name;
                if (!(mnt = getmntent(_fs_fp)))
                        return 0;
 
-               _fs_fstab.fs_spec = mnt->mnt_fsname;
+               device_name = get_device_name(mnt->mnt_fsname);
+               if (!device_name) {
+                       msg("Warning: unable to translate %s\n", mnt->mnt_fsname);
+                       continue;
+               }
+               _fs_fstab.fs_spec = device_name;
                _fs_fstab.fs_file = mnt->mnt_dir;
                _fs_fstab.fs_vfstype = mnt->mnt_type;
                _fs_fstab.fs_mntops = mnt->mnt_opts;