44 lines
1.3 KiB
Diff
44 lines
1.3 KiB
Diff
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é
|