file-roller escaping issue with '#' by example
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
File Roller |
Fix Released
|
Medium
|
|||
file-roller (Ubuntu) |
Fix Released
|
Medium
|
Sebastien Bacher |
Bug Description
When extracting a .bz2 file with a '#' character in its name, file-roller will
extract it to the wrong name. It will add a backslash before the '#'. When
file-roller uses an external application to open the extracted file, it tells it
the name without the backslash, so the external application can't find it.
$ date > 'the#date.txt'; bzip2 'the#date.txt'; file-roller 'the#date.txt.bz2'
file-roller will show the file in the archive as "the#date.txt" correctly. But
click on the file to open it in gedit and gedit won't be able to find it. gedit
won't complain, but it won't show the file contents either.
The same happens with .gz files, but only if the file was gzipped from standard
input, and so doesn't contain a record of its original name.
First I make a .gz file by zipping a file on disk. The file has a '#' in its
name, but is extracted correctly:
$ rm *; date > 'the#date'; gzip *; file-roller -e . *.gz; rm *.gz; ls -l *date*
-rw-r--r-- 1 chris chris 29 2006-01-09 06:12 the#date
But here I make a .gz file by zipping standard input. The extracted file has a
'\' in its name that shouldn't be there (and what's that [0] that got printed to
stdout during the extraction?)
$ rm *; date | gzip > 'the#date.gz'; file-roller -e . *.gz; rm *.gz; ls -l *date*
[0]
-rw-r--r-- 1 chris chris 29 2006-01-09 06:12 the\#date
[ Who is silly enough to put '#' characters in their filenames? IRC clients,
logging #ubuntu for one, and I bzip2 my logs. ]
http://
Changed in file-roller: | |
importance: | Unknown → Medium |
Thanks for your bug. I've forwarded the issue upstream: bugzilla. gnome.org/ show_bug. cgi?id= 326810
http://