static void read_fstab(void);
static struct mntentchn *
-mtab_head() {
+mtab_head(void) {
if (!got_mtab)
read_mounttable();
return &mounttable;
}
static struct mntentchn *
-fstab_head()
+fstab_head(void)
{
if (!got_fstab)
read_fstab();
return &fstab;
}
+#if 0
static void
my_free(const void *s) {
if (s)
free(mc);
}
}
+#endif
static void
read_mntentchn(mntFILE *mfp, const char *fnam, struct mntentchn *mc0) {
struct mntentchn *mc = mc0;
- nfs_mntent_t *mnt;
+ struct mntent *mnt;
while ((mnt = nfs_getmntent(mfp)) != NULL) {
if (!streq(mnt->mnt_type, MNTTYPE_IGNORE)) {
mfp = nfs_setmntent (fnam, "r");
if (mfp == NULL || mfp->mntent_fp == NULL) {
int errsv = errno;
- error(_("warning: can't open %s: %s"),
- _PATH_FSTAB, strerror (errsv));
+ nfs_error(_("warning: can't open %s: %s"),
+ _PATH_FSTAB, strerror (errsv));
return;
}
read_mntentchn(mfp, fnam, mc);
*/
void
-update_mtab (const char *dir, nfs_mntent_t *instead) {
+update_mtab (const char *dir, struct mntent *instead)
+{
mntFILE *mfp, *mftmp;
const char *fnam = MOUNTED;
struct mntentchn mtabhead; /* dummy */
}
}
+#if 0
+ /* the chain might have strings copied from 'instead',
+ * so we cannot safely free it.
+ * And there is no need anyway because we are going to exit
+ * shortly. So just don't call discard_mntentchn....
+ */
discard_mntentchn(mc0);
-
+#endif
if (fchmod (fileno (mftmp->mntent_fp),
S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH) < 0) {
int errsv = errno;