On Tue, Jun 22, 2004 at 11:08:28AM -0700, Krishna Murthy wrote:
The 'le' is an integer value and not a bitwise value. This means it could have only one error condition at a time.
Right. Because of this fact:
if ((le != ERROR_NO_MORE_FILES) || (le != ERROR_FILE_NOT_FOUND)) return LB_ERR;
Will always return LB_ERR. Proof:
(le != ERROR_NO_MORE_FILES) || (le != ERROR_FILE_NOT_FOUND) ## by deMorgan's Law == !((le == ERROR_NO_MORE_FILES) && (le == ERROR_FILE_NOT_FOUND)) ## by transitivity == !(ERROR_NO_MORE_FILES == ERROR_FILE_NOT_FOUND) ## by the definition of these error codes == !(18 == 2) ## different numbers are not equal == !(FALSE) ## by negation == TRUE
;)