Ticket #149 (accepted defect) — at Version 6

Opened 15 years ago

Last modified 14 years ago

files with whitespaces as start won't work via fish

Reported by: Patrick Winnertz <winnie@…> Owned by: winnie
Priority: major Milestone: 4.6.2
Component: mc-vfs Version: 4.6.1
Keywords: committed-master committed-mc-4.6 Cc:
Blocked By: #157 Blocking: #10
Branch state: Votes for changeset:

Description (last modified by slyfox) (diff)

Hey,

Currently it is not possible to do any action on a file which starts white a
whitespace.
I fixed the issue in Debian with a patch which adds quotes around every file.

This works very well.. the drawback is that the -Q option for ls is not a
standard and is only used on linux hosts.
Therefore this patch has to be changed slightly to do not fail on non-linux
hosts. This patch needs two functions which are introduced in #147, therefore
we need to solve this ticket before this one can be solved.

This patch won't apply on mc-4.6 I guess as it was written for an earlier
version of mc. I'll update it afterwards.

Greetings
Winnie

Change History

Changed 15 years ago by Patrick Winnertz

Added by email2trac

comment:1 Changed 15 years ago by Patrick Winnertz

  • id set to 149

This message has 1 attachment(s)

comment:2 Changed 15 years ago by Patrick Winnertz

  • Owner set to winnie
  • Status changed from new to accepted
  • Component changed from mc-core to vfs
  • Blocked By 147 added
  • Milestone changed from 4.7 to 4.6.2

Sadly it's not possible to set the stuff without writing a bit or in the first
mail:

I'll work on this and this should be fixe in 4.6.2.

comment:3 Changed 15 years ago by winnie

  • Blocking 10 added

(In #10) There is a fix in the 10_fish_stalls_on_symlink branch.. however this fix is uncomplete as it will fail in this scenario:

echo "ALL OK" >"this -> file"
ln -s "this -> file" "this -> link"

The link will point to -> file instead of "this -> file".

To fix this issue we need quoted output. (This means ls -Q). As this is no standard option but only used in gnu ls we have to check prior using it if this option is available.
However this is related to ticket:149.

comment:4 Changed 15 years ago by metux

  • Blocked By 157 added

comment:5 Changed 15 years ago by winnie

  • Blocked By 147 removed

(In #147) remove #149 as blocked bug as #149 needs only the escaping functions which are now provides by the mhl lib which was added in #157

comment:6 Changed 15 years ago by slyfox

  • Keywords review added
  • Description modified (diff)

vfs/fish.c: All escaping stuff was overhauled. The current idea is not to use quotes, but use proper shell escaping (quotes break ls for example, it can't parse something like this: ls " a-> b\"\"\"").

All fish ops(chown, rmdir, rm, stor, retr) were converted to use <mhl/escape.h>, removed escape nesting.

Current patchset is at branch:10_fish_whitespace_symlink_issue

Please review and test!

Changed 15 years ago by Patrick Winnertz

Added by email2trac

Note: See TracTickets for help on using tickets.