>>615
for (p = top; p != NULL; p = p->next)
for (p = top; NULL != p; p = p->next)

こうして見比べると、良い・悪いは別として、右定数の方が美しいよねぇ。