X-Git-Url: https://git.wh0rd.org/?p=dump.git;a=blobdiff_plain;f=compat%2Flib%2Ffstab.c;h=de95455debc40b916a6f25112eda8ddf1e369cb1;hp=cc2d2550dd33eb7c2f007bdac2aa6195936d2768;hb=5d2a3d246d400d45dfd4c49ddb588c69fb60873d;hpb=ddd2ef55b78a62c4bc3daad18bef8a90e85a2052 diff --git a/compat/lib/fstab.c b/compat/lib/fstab.c index cc2d255..de95455 100644 --- a/compat/lib/fstab.c +++ b/compat/lib/fstab.c @@ -2,8 +2,8 @@ * Ported to Linux's Second Extended File System as part of the * dump and restore backup suit * Remy Card , 1994-1997 - * Stelian Pop , 1999 - * + * Stelian Pop , 1999-2000 + * Stelian Pop - AlcĂ´ve , 2000-2002 */ /* @@ -39,10 +39,12 @@ * SUCH DAMAGE. */ -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)fstab.c 8.1 (Berkeley) 6/4/93"; -#endif /* LIBC_SCCS and not lint */ +#ifndef lint +static const char rcsid[] = + "$Id: fstab.c,v 1.13 2002/01/25 15:08:59 stelian Exp $"; +#endif /* not lint */ +#include #include #include #include @@ -50,6 +52,7 @@ static char sccsid[] = "@(#)fstab.c 8.1 (Berkeley) 6/4/93"; #include #include #include +#include static FILE *_fs_fp; static struct fstab _fs_fstab; @@ -57,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;