home *** CD-ROM | disk | FTP | other *** search
- #ifndef CUS_H
- #define CUS_H
-
- /*
- cus.h -- CleanUpSequence support header
-
- This peace of header code is designed to cleanup safty at error
- detection situations. If you detect an error (mostly a wrong
- returncode from a function) you shouldn't call 'exit(0)' or 'return'
- only because of your still active stuff. Or to quote CATS:
-
- "[...] Always clean up after yourself. [...] Anything that was
- opened must be closed, anything allocated must be deallocated. It is
- generally correct to do closes and deallocations in the reverse order
- of the opens and allocations. [...]"
-
- -- 'Amiga ROM Kernel Reference Manual: Libraries & Devices'
-
- ___ _______
- /__)(_ /_ Genesis : Sat Oct 12 22:48:22 1991
- / \____)(___ Last Change : Wed Jul 29 12:13:43 1992
- / Class : ANSI C
-
- Copyright (c) Ralf S. Engelschall, All Rights Reserved.
- */
-
-
- #define ZERO 0
-
- #define STMT(stuff) do { stuff } while (ZERO)
-
- #define CU(returncode) STMT( rc = returncode; goto CUS; )
- #define cu(returncode) STMT( rc = returncode; goto cus; )
- #define EE(returncode) STMT( rc = returncode; goto EE; ) /* obsolete */
- #define CU2() STMT( goto CUS; ) /* for special situations */
-
- #endif /* CUS_H */
-