Hello, Pavel!

I'm almost a dummy in parsers, so I'm not going to apply this fix without
your approval.

MC crashes when an extfs script returns something like:

-rwxr--r--   1 500      0               0 Dec 14 2000 13:58 test
-rw-r--r--   1 500      0             273 Dec 14 2000 02:12 test/foo/bar

"test" is considered a regular file, but at the next step it becomes a
directory.

There is a consistency check in __find_entry in shared_tar_ext.c, but for
some reason it's limited only to the case when the child of "foo", i.e.
"bar" is terminated with a slash.

ChangeLog:
        * shared_tar_ext.c (__find_entry): Make sure that the parent is a
        directory even if the child is not.

________________________
--- shared_tar_ext.c
+++ shared_tar_ext.c
@@ -54,7 +54,7 @@
                    *q = c;
                    return NULL;
                }
-               if (c == '/' && !S_ISDIR (pent->inode->mode)){
+               if (!S_ISDIR (pent->inode->mode)){
                    *q = c;
                    notadir = 1;
                    return NULL;
________________________

Regards,
Pavel Roskin

Reply via email to