home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a016 / 1.ddi / C / BLERRPRG.C next >
Encoding:
C/C++ Source or Header  |  1992-03-15  |  2.6 KB  |  96 lines

  1. /*****************************************************************
  2. *
  3. *  Program  : BLERRPRG.C
  4. *           : Blinker / C Error Handler
  5. *  Date     : 92.02.16
  6. *
  7. *
  8. *  Note     : Overlaying of this file is NOT recommended, because
  9. *           : if a severe error occurs, it may be impossible to
  10. *           : load this error handler into memory, in which case
  11. *           : the error will never be reported, making debugging
  12. *           : difficult.
  13. */
  14.  
  15. #include <conio.h>
  16. #include <stdio.h>
  17. #include <string.h>
  18. #include <blinker.h>
  19.  
  20. void blerrprg(void)
  21. {
  22.  
  23.   int   tmperrnum;
  24.   char  tmperrmsg [128];
  25.   char  errparam [128];
  26.  
  27.   tmperrnum = BLIERRNUM();
  28.   strcpy (errparam,BLIERRPRM());
  29.  
  30.   switch (tmperrnum)
  31.   {
  32.      case 1201 : strcpy(tmperrmsg, "unable to find overlay ") ;
  33.          strcat(tmperrmsg, errparam) ;
  34.          strcat(tmperrmsg, " in the current PATH") ;
  35.          break ;
  36.  
  37.      case 1202 : strcpy(tmperrmsg, "DOS read error in file ") ;
  38.          strcat(tmperrmsg, errparam) ;
  39.          break ;
  40.  
  41.      case 1203 : strcpy(tmperrmsg, "file ") ;
  42.          strcat(tmperrmsg, errparam) ;
  43.          strcat(tmperrmsg, " is not a valid .EXE file") ;
  44.          break ;
  45.  
  46.      case 1204 : strcpy(tmperrmsg, "overlay file ") ;
  47.          strcat(tmperrmsg, errparam) ;
  48.          strcat(tmperrmsg, " does not match the .EXE file") ;
  49.          break ;
  50.  
  51.      case 1205 : strcpy(tmperrmsg, "not enough memory to load procedure") ;
  52.          break ;
  53.  
  54.      case 1206 : strcpy(tmperrmsg, "maximum procedure nesting depth exceeded") ;
  55.          break;
  56.  
  57.      case 1207 : strcpy(tmperrmsg, "demonstration calls limit exceeded") ;
  58.          break ;
  59.  
  60.      case 1208 : strcpy(tmperrmsg, "demonstration date limit exceeded") ;
  61.          break ;
  62.  
  63.      case 1209 : strcpy(tmperrmsg, "demonstration time limit exceeded") ;
  64.          break ;
  65.  
  66.      case 1210 : strcpy(tmperrmsg, "overlay has been prematurely freed") ;
  67.          break ;
  68.  
  69.      case 1211 : strcpy(tmperrmsg, "overlay manager stack overflow") ;
  70.          break ;
  71.  
  72.      case 1212 : strcpy(tmperrmsg, "Overlay Opsize exceeded - increase Opsize") ;
  73.          break ;
  74.  
  75.      case 1213 : strcpy(tmperrmsg, "Attempt to call DEFINED routine") ;
  76.          break ;
  77.  
  78.      case 1214 : strcpy(tmperrmsg, "Error accessing EMS overlay cache") ;
  79.          break ;
  80.  
  81.      case 1215 : strcpy(tmperrmsg, "Error accessing XMS overlay cache") ;
  82.          break ;
  83.  
  84.      case 1216 : strcpy(tmperrmsg, "Overlay manager unable to resume") ;
  85.          break ;
  86.  
  87.      case 1217 : strcpy(tmperrmsg, "overlay vector corrupted during execution") ;
  88.          break ;
  89.  
  90.      default : strcpy(tmperrmsg, "undefined error");
  91.   }
  92.   clrscr();
  93.   printf("BLINKER : %4d : %s\n", tmperrnum, tmperrmsg) ;
  94.   exit (tmperrnum) ;
  95. }
  96.