home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / graphic / qrt / error.c < prev    next >
C/C++ Source or Header  |  1989-03-26  |  4KB  |  112 lines

  1.  
  2. #include "qrt.h"
  3.  
  4. extern int linenumber;
  5.  
  6. /**********************************************************
  7.  
  8.          Here if pointer to fn goes astray
  9.          (from ObjInfo structure)
  10.  
  11.  **********************************************************/
  12.  
  13. Err() {
  14.   Error(INTERNAL_ERROR,9999);
  15. }
  16.  
  17. /**********************************************************
  18.  
  19.       Prints warning message to stdio.  These are not
  20.       critical; ray tracing continues.
  21.  
  22.  **********************************************************/
  23.  
  24. Warning(num,messg)
  25.   int num;
  26.   char *messg;
  27. {
  28.   if (linenumber >=0)
  29.     printf("\nInput line number %d\n",linenumber);
  30.  
  31.   printf("Warning: ");
  32.  
  33.   switch (num) {
  34.     case OBSOLETE_OPTION: printf("obsolete option\n");
  35.                           break;
  36.  
  37.     default             : printf("programmer stupidity error\n");
  38.   }
  39.  
  40.   if (messg != NULL)
  41.     printf(" (%s)\n",messg);
  42.  
  43. }
  44.  
  45. /**********************************************************
  46.  
  47.       Error reporting routine. Dumps user back DOS
  48.  
  49.  **********************************************************/
  50.  
  51. Error(num,code)
  52.   int num,code;
  53. {
  54.  
  55.   if (linenumber >= 0)
  56.     printf("\nInput line number %d\n",linenumber);
  57.  
  58.   printf("\nFatal error code %d: ",code);
  59.  
  60.   switch (num) {
  61.     case ILLEGAL_PARAMETER: printf("illegal parameter\n");
  62.                             break;
  63.     case TOO_FEW_PARMS    : printf("too few parameters\n");
  64.                             break;
  65.     case ILLEGAL_OBJECT   : printf("illegal object type\n");
  66.                             break;
  67.     case MALLOC_FAILURE   : printf("malloc failure\n");
  68.                             break;
  69.     case SYNTAX_ERROR     : printf("syntax error\n");
  70.                             break;
  71.     case INTERNAL_ERROR   : printf("programmer confusion error\n");
  72.                             break;
  73.     case FILE_ERROR       : printf("file error\n");
  74.                             break;
  75.     case PATTERN_NOT_FOUND: printf("pattern not found\n");
  76.                             break;
  77.     case PATTERN_EXISTS   : printf("pattern already defined\n");
  78.                             break;
  79.     case NO_OBSERVER      : printf("no observer defined\n");
  80.                             break;
  81.     case UNDEFINED_PARAM  : printf("undefined parameter\n");
  82.                             break;
  83.     case NON_HOMOGENIOUS  : printf("world contains non-homogenious object\n");
  84.                             break;
  85.     case ZERO_INDEX       : printf("an index of refraction is 0\n");
  86.                             break;
  87.     case COLOR_VALUE_ERR  : printf("illegal color_info value\n");
  88.                             break;
  89.     case LESS_THAN_ZERO   : printf("parameter should be >= 0\n");
  90.                             break;
  91.     case ZERO_MULTIPLIER  : printf("a pattern multiplier is 0\n");
  92.                             break;
  93.     case UNDEFINED_NAME   : printf("undefined name\n");
  94.                             break;
  95.     case LPAREN_EXPECTED  : printf("left paren expected\n");
  96.                             break;
  97.     case RPAREN_EXPECTED  : printf("right paren expected\n");
  98.                             break;
  99.     case ILLEGAL_VECTOR   : printf("illegal vector structure\n");
  100.                             break;
  101.     case ILLEGAL_SVECTOR  : printf("illegal color triple\n");
  102.                             break;
  103.     case ILLEGAL_OPTION   : printf("illegal command line option\n");
  104.                             break;
  105.  
  106.     default               : printf("programmer stupidity error\n");
  107.  
  108.   }
  109.   exit(1);
  110. }
  111.  
  112.