Blob Blame History Raw
diff -urNp orig-dump-0.4b45/dump/optr.c new-dump-0.4b45/dump/optr.c
--- orig-dump-0.4b45/dump/optr.c	2016-05-09 07:38:01.000000000 +0200
+++ new-dump-0.4b45/dump/optr.c	2016-07-29 09:15:03.139871167 +0200
@@ -431,6 +431,21 @@ allocfsent(struct mntent *fs)
 	struct stat buf, tabbuf;
 	struct pfstab *tabpf;
 	struct mntent *tabfs;
+	char **type;
+	int handle, len;
+	
+	/* Discard fstypes we don't handle */
+	if (fs->mnt_type == NULL)
+		return NULL;
+	
+	len = strlen(fs->mnt_type);
+
+	for (type = fstypes, handle = 0; *type != NULL && handle == 0; type++){
+		handle = (strncmp(fs->mnt_type, *type, len) == 0);
+	}
+
+	if (!handle)
+		return NULL;
 
 	new = (struct mntent *)malloc(sizeof (*fs));
 	if (new == NULL)
@@ -701,9 +716,15 @@ lastdump(char arg) /* w ==> just what to
 	for (pf = table; pf != NULL; pf = pf->pf_next) {
 		struct mntent *dt = pf->pf_mntent;
 		char **type;
+		int len;
+
+		if (dt->mnt_type == NULL)
+			continue;
+
+		len = strlen(dt->mnt_type);
 
 		for (type = fstypes; *type != NULL; type++) {
-			if (strcmp(dt->mnt_type, *type) == 0) {
+			if (strncmp(dt->mnt_type, *type, len) == 0) {
 				const char *disk = get_device_name(dt->mnt_fsname);
 				print_wmsg(arg, dt->mnt_freq > 0,
 					   disk ? disk : dt->mnt_fsname,
Binární soubory orig-dump-0.4b45/dump/.optr.c.swp a new-dump-0.4b45/dump/.optr.c.swp jsou rozdílné