2012-01-14 Worked on masqmail and solved a bug, that Juergen had reported. The code at that place had been very unlogically. It operated on wrong data structures. I must have been very tired when I put it there. Only days ago, I wrote about the return value of strcmp(3). I think that it is the right one, although it introduces readabili- ty problems. Now I had to deal with fnmatch(3). Here I think, the return value is a wrong choice. Like strcmp(), it return 0 on match/equal and non-zero else. This is unintuitive! Whereas the word ``compare'' does not imply boolean, the word ``match'' has a clear boolean expression. fnmatch() however returns the negate of the expected value. If fnmatch() would at least be a drop-in replacement for strcmp(), then it wouldn't be all that bad, but it isn't. And if it was, there better would exist a wrapper, named `matchcmp()' or thelike to show that it's a function with a cmp-interface. For creating audio CDs, I used to use `mp3cd' on Debian. It's not available for Crux. I didn't wanted to create a port for it, because it would have large depends. Instead I wrote a minimal version of mp3cd myself. I named the following script `audiocd'. #!/bin/sh test $# -ne 1 && echo "Usage: audiocd PLAYLIST.m3u">&2 && exit 1 tmp=`mktemp -d` trap 'echo exiting...; rm -rf "$tmp"' 0 1 2 15 n=0 cat "$1" | while read f ; do f2="`basename "$f" | tr ' ' _`" cp "$f" $tmp/`printf "%02d_%s" $n $f2` n=`expr $n + 1` done cd $tmp for i in * ; do mpg123 -w "$i.wav" "$i" done normalize -m *.wav wodim dev=/dev/cdrw -eject -audio -pad driveropts=burnfree *.wav It's not perfect, and if you want a good solution, then better use mp3cd, but at least it was fun to create it and I learned from doing so. (mp3cd bases on the the ``MP3 CD Burning'' howto. [0] ) Created a Crux port for mp3info, a very handy tool. [0] http://www.tldp.org/HOWTO/MP3-CD-Burning/ http://marmaro.de/lue/ markus schnalke