Well, if unlink() can't remove directories, than link() shouldn't be able to link them. I think it's sane for unlink() to hit directories solely because they are (so far as I can tell) links just like any other, except that they contain different data, and have a different mode bit set. -s