home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 196.lha / Exception_v0.6 / EIBlow.c < prev    next >
C/C++ Source or Header  |  1988-12-27  |  3KB  |  63 lines

  1. /**************************************************************************/
  2. /*                                                                        */
  3. /*                                                                        */
  4. /*                                                                        */
  5. /*                EXCEPTION HANDLER / CHIP STACK                          */
  6. /*               ==========================================               */
  7. /*                                                                        */
  8. /*                                                                        */
  9. /*  MODULE      : Exception                                               */
  10. /*  NOM         : EIBlow.c                                                */
  11. /*  FONCTION    :                                                         */
  12. /*                                                                        */
  13. /*  RESPONSABLE : HEWES Gerald                                            */
  14. /*  TEL         : 33 (1) 46 24 20 27                                      */
  15. /*                                                                        */
  16. /**************************************************************************/
  17.  
  18. /**************************************************************************/
  19. /*                                                                        */
  20. /* HEW 880310 Ver 0.1 : First Soft Version                                */
  21. /* HEW 880324 Ver 0.2 : Handle 68000 exceptions                           */
  22. /* HEW 880413 Ver 0.3 : Handle 680X0 Formats                              */
  23. /* HEW 880508 Ver 0.4 : First Released version : routines split           */
  24. /*                      Major name changes for better homogeneity         */
  25. /* HEW 880517 Ver 0.5 : include change. No more puts in library           */
  26. /* HEW 880605 Ver 0.6 : Disable/Enable Function + Prototypes              */
  27. /*                                                                        */
  28. /**************************************************************************/
  29.  
  30. #include <stdio.h>
  31. #include "local:excption.h"
  32. #include <proto/exec.h>
  33.  
  34. extern E_ErrorStatus  E_global;  /* Declaration of Necessary Data */
  35.  
  36. /**************************************************************************/
  37.  
  38. extern void EIBlow(dike,number)
  39. E_ErrorStatus *dike;  /* Needed for the library version */
  40. ExcpClass number;
  41.  
  42.                 /************************************************/
  43.                 /* This Routine Blows an Exception, ie we pull  */
  44.                 /* out to outmost protected block, exit         */
  45.                 /************************************************/
  46.  
  47.  
  48. {
  49.   if ((dike->E_top.E_magic != EM_MAGIC))
  50.    {
  51. #if DEBUG
  52.     fputs("Internal Error EXEERR03\n",stderr);
  53. #endif
  54.     exit(202);
  55.    }
  56.   else
  57.    longjmp(dike->E_top.E_current,(int)number); /* We have to cast */
  58. }
  59.  
  60.  
  61. /*************************  CIVILISATION ENDS HERE  ***********************/
  62.  
  63.