home *** CD-ROM | disk | FTP | other *** search
- /*------------------------------------*
- | File: CLEANUP.c - MLO 900131 V1.00 |
- | These routines perform cleanup for |
- | program termination. |
- *------------------------------------*/
-
- #include "rpn.h"
- #include "proto.h"
-
- extern struct Window *Wrpn;
- extern struct Window *Wreg;
-
- static void cleanMess(struct Window *pW);
-
- void cleanup(
- int code /* Completion code */
- )
- {/*--------------------------------------*
- | Frees all Intuition resources and |
- | exits with the given completion code |
- *--------------------------------------*/
-
- if (Wreg != NULL) {
- CloseWindow(Wreg);
- }
-
- if (Wrpn != NULL) {
- ClearMenuStrip(Wrpn);
- cleanMess(Wrpn);
- CloseWindow(Wrpn);
- }
- deallMem();
- exit(code);
- }
-
- static void cleanMess(
- struct Window *pW
- )
- {/*------------------------------------------*
- | Local function. Replies to all Intuition |
- | messages pending for the given window. |
- *------------------------------------------*/
-
- struct IntuiMessage *pIM;
-
- while ( (pIM = (struct IntuiMessage *) GetMsg(pW->UserPort)) != NULL) {
- ReplyMsg(pIM);
- }
- }
-