#
# $Id$
-VERSION='2.3.99-$Revision$'
+VERSION='2.3.99.8'
usage ()
{
if [ $PARSECHOICE1 -lt 1 ] || [ $PARSECHOICE1 -gt $CDDBDIFFCHOICES ] || \
[ $PARSECHOICE2 -lt 1 ] || [ $PARSECHOICE2 -gt $CDDBDIFFCHOICES ] || \
[ $PARSECHOICE1 -eq $PARSECHOICE2 ]; then
- echo "Invalid diff range. Please select two coma-separated numbers between 1 and $CDDBDIFFCHOICES" >&2
+ echo "Invalid diff range. Please select two comma-separated numbers between 1 and $CDDBDIFFCHOICES" >&2
else
# We parse the 2 choices to diff, store them in temporary files and diff them.
for PARSECHOICE in $(echo $CDDBDIFFCHOICE | tr , \ ); do
exit 1
fi
echo -n .
- # It's a directory, let's see if it's owned by us
- if [ ! -O "$ABCDETEMPDIR" ]; then
+ # It's a directory, let's see if it's writable by us
+ if [ ! -r "$ABCDETEMPDIR" ] || [ ! -w "$ABCDETEMPDIR" ] || [ ! -x "$ABCDETEMPDIR" ]; then
# Nope, complain and exit
echo >&2
- echo "abcde: directory $ABCDETEMPDIR already exists and is not owned by you." >&2
+ echo "abcde: directory $ABCDETEMPDIR already exists and is not writeable." >&2
echo "Please investigate, remove it, and rerun abcde." >&2
exit 1
fi
if [ $PARSECHOICE1 -lt 1 ] || [ $PARSECHOICE1 -gt $CDDBCHOICES ] || \
[ $PARSECHOICE2 -lt 1 ] || [ $PARSECHOICE2 -gt $CDDBCHOICES ] || \
[ $PARSECHOICE1 -eq $PARSECHOICE2 ]; then
- echo "Invalid diff range. Please select two coma-separated numbers between 1 and $CDDBCHOICES" >&2
+ echo "Invalid diff range. Please select two comma-separated numbers between 1 and $CDDBCHOICES" >&2
else
# We parse the 2 choices to diff, store them in temporary files and diff them.
for PARSECHOICE in $(echo $CDDBCHOICE | tr , \ ); do
else
while [ $# -gt 0 ]; do
# Range parsing code courtesy of Vincent Ho
- RSTART=$(echo $1 | cut -f1 -d-)
- REND=$(echo $1 | cut -f2 -d-)
- if [ "$RSTART" = "$REND" ]; then
- NEWTRACKS="$RSTART"
- else
- NEWTRACKS=$(f_seq_line $RSTART $REND)
- fi
- TRACKQUEUE=$(echo "$TRACKQUEUE" "$NEWTRACKS")
+ # Cleaned up to use shell built-ins by Charles Steinkuehler
+ if [ "${1#*[^0-9-]}" != "$1" ]; then
+ log error "syntax error while processing track numbers"
+ else
+ RSTART=${1%%-*}
+ REND=${1##*-}
+ while [ ${RSTART:=1} -le ${REND:=0} ] ; do
+ TRACKQUEUE="$TRACKQUEUE $RSTART"
+ RSTART=$(( $RSTART + 1 ))
+ done
+ fi
shift
done
fi
FLACENCODER="$FLAC"
if [ "$DOREPLAYGAIN" = "y" ]; then
FLACENCODEROPTS="${FLACENCODEROPTS} --replay-gain"
+ fi
# FLAC streams can be encapsulated on a Ogg transport layer
if echo "$FLACENCODEROPTS" | egrep -- "(^| )--ogg($| )" > /dev/null 2>&1 ;then
log error "FLAC on an Ogg container is not yet supported"
TAGGEROPTS="$ID3V2OPTS"
fi
-# Specific for NOGAP is the use of lame. Another encoder fails...
+# NOGAP is specific to lame. Other encoders fail ...
if [ "$NOGAP" = "y" ] && [ ! "$MP3ENCODER" = "lame" ]; then
- log warning "the NOGAP option is specific of lame. Deactivating..."
+ log warning "the NOGAP option is specific to lame. Deactivating..."
NOGAP=n
fi