Package: abcde
Version: 2.2.5-1
Severity: normal
Tags: patch
I ran into a problem using abcde with a multi-artist CD that contains
'*' in a track name (cddb ID f610ea12):
(...)
TTITLE14=M83 / *
(...)
In this case, it seems do_tag() and do_move() are using a shell-expanded
version of the title, which results in a wrong tag and an error during
the move.
After some investigation, I believe the problem appears in splitvarious(),
and I am attaching the patch that fixed the problem for me.
Best regards,
-Christian
-- System Information:
Debian Release: 3.1
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.11-mooch.2
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US (charmap=ISO-8859-1) (ignored: LC_ALL
set to en_US)
Versions of packages abcde depends on:
ii cd-discid 0.9-1 CDDB DiscID utility
ii cdda2wav 4:2.01+01a01-2 Creates WAV files from audio CDs
ii cdparanoia 3a9.8-11 An audio extraction tool for sampl
ii flac 1.1.1-5 Free Lossless Audio Codec - comman
ii lame 3.96.1-1 LAME Ain't an MP3 Encoder
ii vorbis-tools 1.0.1-1.2 Several Ogg Vorbis Tools
ii wget 1.9.1-10 retrieves files from the web
-- no debconf information
--- abcde.orig 2005-04-02 20:26:20.000000000 +0200
+++ abcde 2005-04-03 12:56:48.000000000 +0200
@@ -241,40 +241,40 @@
if [ "$VARIOUSARTISTS" = "y" ] && [ ! "$ONETRACK" = "y" ]; then
case "$VARIOUSARTISTSTYLE" in
forward)
- DTITLEARTIST="$(echo $TRACKNAME | sed 's- / -~-g')"
- TRACKARTIST="$(echo $DTITLEARTIST | cut -f1 -d~)"
- TRACKNAME="$(echo $DTITLEARTIST | cut -f2 -d~)"
+ DTITLEARTIST=$(echo "$TRACKNAME" | sed 's- / -~-g')
+ TRACKARTIST=$(echo "$DTITLEARTIST" | cut -f1 -d~)
+ TRACKNAME=$(echo "$DTITLEARTIST" | cut -f2 -d~)
;;
forward-dash)
- DTITLEARTIST="$(echo $TRACKNAME | sed 's, - ,~,g')"
- TRACKARTIST="$(echo $DTITLEARTIST | cut -f1 -d~)"
- TRACKNAME="$(echo $DTITLEARTIST | cut -f2 -d~)"
+ DTITLEARTIST=$(echo "$TRACKNAME" | sed 's, - ,~,g')
+ TRACKARTIST=$(echo "$DTITLEARTIST" | cut -f1 -d~)
+ TRACKNAME=$(echo "$DTITLEARTIST" | cut -f2 -d~)
;;
reverse)
- DTITLEARTIST="$(echo $TRACKNAME | sed 's- / -~-g')"
- TRACKARTIST="$(echo $DTITLEARTIST | cut -f2 -d~)"
- TRACKNAME="$(echo $DTITLEARTIST | cut -f1 -d~)"
+ DTITLEARTIST=$(echo "$TRACKNAME" | sed 's- / -~-g')
+ TRACKARTIST=$(echo "$DTITLEARTIST" | cut -f2 -d~)
+ TRACKNAME=$(echo "$DTITLEARTIST" | cut -f1 -d~)
;;
reverse-dash)
- DTITLEARTIST="$(echo $TRACKNAME | sed 's, - ,~,g')"
- TRACKARTIST="$(echo $DTITLEARTIST | cut -f2 -d~)"
- TRACKNAME="$(echo $DTITLEARTIST | cut -f1 -d~)"
+ DTITLEARTIST=$(echo "$TRACKNAME" | sed 's, - ,~,g')
+ TRACKARTIST=$(echo "$DTITLEARTIST" | cut -f2 -d~)
+ TRACKNAME=$(echo "$DTITLEARTIST" | cut -f1 -d~)
;;
colon)
- DTITLEARTIST="$(echo $TRACKNAME | sed 's-: -~-g')"
- TRACKARTIST="$(echo $DTITLEARTIST | cut -f1 -d~)"
- TRACKNAME="$(echo $DTITLEARTIST | cut -f2 -d~)"
+ DTITLEARTIST=$(echo "$TRACKNAME" | sed 's-: -~-g')
+ TRACKARTIST=$(echo "$DTITLEARTIST" | cut -f1 -d~)
+ TRACKNAME=$(echo "$DTITLEARTIST" | cut -f2 -d~)
;;
trailing-paren)
- DTITLEARTIST="$(echo $TRACKNAME | sed 's,^\(.*\)
(\(.*\)),\1~\2,')"
- TRACKARTIST="$(echo $DTITLEARTIST | cut -f2 -d~)"
- TRACKNAME="$(echo $DTITLEARTIST | cut -f1 -d~)"
+ DTITLEARTIST=$(echo "$TRACKNAME" | sed 's,^\(.*\)
(\(.*\)),\1~\2,')
+ TRACKARTIST=$(echo "$DTITLEARTIST" | cut -f2 -d~)
+ TRACKNAME=$(echo "$DTITLEARTIST" | cut -f1 -d~)
;;
esac
elif [ "$ONETRACK" = "y" ]; then
TRACKARTIST="Various"
else
- TRACKARTIST=$DARTIST
+ TRACKARTIST="$DARTIST"
fi
}