--- apt-0.5.15cnc6/apt-pkg/contrib/cdromutl.cc~ 2005-05-14 13:13:03 +0400 +++ apt-0.5.15cnc6/apt-pkg/contrib/cdromutl.cc~ 2005-05-14 13:26:05 +0400 @@ -34,6 +34,7 @@ #include #include #include +#include /*}}}*/ // IsMounted - Returns true if the mount point is mounted /*{{{*/ @@ -100,6 +101,17 @@ bool UnmountCdrom(string Path) } else { + FILE *f; + if ((f = setmntent ("/proc/mounts", "r")) != NULL) + { + struct mntent *mnt; + while ((mnt = getmntent (f)) != NULL) + if (strcmp (Path.c_str(), mnt->mnt_dir) == 0) + if ((strcmp ("subfs", mnt->mnt_type) == 0) || (strcmp ("supermount", mnt->mnt_type) == 0)) + _exit(0); + endmntent (f); + } + const char *Args[10]; Args[0] = "umount"; Args[1] = Path.c_str();