Ticket #149 (closed defect: fixed)

Opened 11 years ago

Last modified 9 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: 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

Attachments

03_fix_whitespace_via_fish.patch (6.3 KB) - added by Patrick Winnertz 11 years ago.
Added by email2trac
fish-fix.patch (16.3 KB) - added by Patrick Winnertz 10 years ago.
Added by email2trac

Change History

Changed 11 years ago by Patrick Winnertz

Added by email2trac

comment:1 Changed 11 years ago by Patrick Winnertz

  • id set to 149

This message has 1 attachment(s)

comment:2 Changed 11 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 11 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 11 years ago by metux

  • Blocked By 157 added

comment:5 Changed 10 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 10 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 10 years ago by Patrick Winnertz

Added by email2trac

comment:7 Changed 10 years ago by Patrick Winnertz

Hey,

I've rebased that branch and created a diff. Please review, test and vote.

for those who are not that familiar with git I've added the diff between the
branch and mc-4.6 so that you'll can see what will change.

comment:8 Changed 10 years ago by styx

  • Keywords vote-styx added

comment:9 Changed 10 years ago by winnie

  • Keywords vote-slavazanko approved committed-master committed-mc-4.6 added; review removed
  • Status changed from accepted to testing
  • Resolution set to fixed

Committed

comment:10 Changed 10 years ago by winnie

  • Status changed from testing to closed

comment:11 Changed 9 years ago by andrew_b

  • Keywords vote-styx vote-slavazanko approved removed
  • severity set to merged
  • Blocked By 157 removed
Note: See TracTickets for help on using tickets.