* 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
*/
/*
#ifndef lint
static const char rcsid[] =
- "$Id: fstab.c,v 1.5 1999/10/13 09:57:19 stelian Exp $";
+ "$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>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
+#include <bylabel.h>
static FILE *_fs_fp;
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;