Fix touch() for directories