I would argue that queue == NULL is an "other case" rather than an empty queue (there is no queue here at all, empty or otherwise).  Yet you return true for NULL.