& and && are quite different in one respect which uiucdcs!donchin seems to have missed - & evaluates both arguments always, whereas && only evaluates the second argument if the first is non-zero. =Spencer