home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 13 / 13.iso / p / p024 / 12.img / ADS1.LIB / CALERR.C < prev    next >
Encoding:
C/C++ Source or Header  |  1993-02-17  |  6.3 KB  |  161 lines

  1. /*****************************************************************************
  2.       CALERR.C
  3.       (C) ¬⌐┼v 1988-1992  Autodesk ñ╜Ñq
  4.  
  5.       Ñ╗╡{ªíñwÑ╤ Autodesk ñ╜Ñq╡∙ÑU¬⌐┼v, ╢╚⌐≤ñU¡z▒í¬pñUÑi▒┬╗P▒zíu│\ÑiívíC
  6.       ╗╒ñUñú▒oÑHÑ⌠ª≤º╬ªí╡oªµ⌐╬ÑX¬⌐ª╣╡{ªí¬║íu¡∞⌐l╜Xív; ª²ñ╣│\▒zªb»S⌐w¡lÑ═
  7.       ¬║ñuº@ñW╡▓ªXª╣╡{ªí¬║íuÑ╪¬║╜Xív¿╧Ñ╬íCª│├÷│o├■¡lÑ═ñuº@¬║▒°Ñ≤ªpñU:
  8.  
  9.       ( i)  │]¡pñW╗Pñuº@ñW¼╥»┬║Θ░w╣∩ Autodesk ñ╜Ñq¬║▓ú½~íC
  10.       (ii)  ╕ⁿª│íu¬⌐┼v  (C) 1988-1992  Autodesk ñ╜Ñqív¬║¬⌐┼v│qºiíC
  11.  
  12.  
  13.  
  14.       AUTODESKñ╜Ñq┤ú¿╤ª╣╡{ªí╢╚¿╤º@íu├■ªⁿív¬║░╤ª╥, ª╙ÑBñú▒╞░úª│Ñ⌠ª≤┐∙╗~¬║
  15.       Ñi»αíCAUTODESKñ╜Ñq»Sª╣º_╗{Ñ⌠ª≤»S⌐wÑ╬│~ñº╛A║┘⌐╩, ÑHñ╬░╙╖~╛P░Γ⌐╥┴⌠ºt
  16.       ÑX¿π¬║½O├╥íCAUTODESKñ╜ÑqªP«╔ÑτñúÑX¿πª╣╡{ªí░⌡ªµ«╔ñ@⌐wñú╖|íuññ┬_ív⌐╬
  17.       íuº╣Ñ■╡L╗~ív¬║½O├╥íC
  18.  
  19.  
  20.   Description: Error reporting function for the Geometry Calculator ADS
  21.                application.
  22.  
  23. *****************************************************************************/
  24.  
  25.  
  26. /****************************************************************************/
  27. /*  INCLUDES                                                                */
  28. /****************************************************************************/
  29.  
  30. #include "cal.h"
  31.  
  32.  
  33. /****************************************************************************/
  34. /*  EXPORTED VARIABLES                                                      */
  35. /****************************************************************************/
  36.  
  37. int cal_err;                          /* Error number, 0 means O.K. */
  38.  
  39.  
  40. /****************************************************************************/
  41. /*  STATIC VARIABLES                                                        */
  42. /****************************************************************************/
  43.  
  44. static char *error_messages[] =
  45. {
  46.    "%s",                                                            /* 0*/
  47.    "╣Ω╝╞íu%sívª│╗~",                                                /* 1*/
  48.    "ªrñ╕íu%sívñúªX¬k",
  49.    "╛π╝╞¡╚Ñ▓╢╖ñ╢⌐≤íu-32768 í╨ 32767ív",
  50.    "íuÑ\134»α¿τ╝╞ %sív╗▌¡nñ@╢╡íuñ▐╝╞ív",
  51.    "║|»╩íuÑk¼A╕╣ív",                                                /* 5*/
  52.    "ªV╢q¬║ª¿ñ└╢╖¼░íu╣Ω╝╞ív",
  53.    "ªV╢q╗y¬kª│╗~; Ñi»α½Y║|»╩íu,ív╕╣",
  54.    "ªV╢q╗y¬kª│╗~; Ñi»α½Y║|»╩íu]ív╕╣",
  55.    "╖N«╞Ñ~¬║íu¡zÑyív╡▓º⌠",
  56.    "íu¡zÑyív╗y¬kª│╗~",                                              /*10*/
  57.    "íuÑ\134»α¿τ╝╞ %sív╗▌¡níuªV╢qñ▐╝╞ív",
  58.    "íuÑ\134»α¿τ╝╞ %sív╗▌¡níu╣Ω╝╞ñ▐╝╞ív",
  59.    "ASIN ╗P ACOS ¬║íuñ▐╝╞ív¡╚Ñ▓╢╖ñ╢⌐≤íu-1 í╨ 1ív",
  60.    "ROUND ╗P TRUNC ¬║íuñ▐╝╞ív¡╚Ñ▓╢╖ñ╢⌐≤íu-32768 í╨ 32767ív",
  61.    "SQRT ¬║íuñ▐╝╞ívñúÑi¼░íu¡t¡╚ív",                                 /*15*/
  62.    "íuª╕ñΦ╣B║Γ▓┼ (^)ív¬║╣B║Γñ╕╢╖¼░íu╣Ω╝╞ív",
  63.    "íu¡t¡╚ívñúÑiÑ╬º@íu╣Ω╝╞½ⁿ╝╞ív",
  64.    "░ú╝╞¼░ 0",
  65.    "íu/ív╣B║Γ: ╣B║Γñ╕╢╖¼░íu╣Ω╝╞í╨╣Ω╝╞ív⌐╬íuªV╢qí╨╣Ω╝╞ív",
  66.    "íu&ív╣B║Γ: ╣B║Γñ╕╢╖¼░íuªV╢qív",                                 /*20*/
  67.    "íu+ív╗Píu-ív╣B║Γ: ╣B║Γñ╕¬║íu├■ºOív╢╖¼█ªP",
  68.    "íuº`í╨ªT ('-\")ív«µªí╡L«─",
  69.    "╝╞¡╚╢W╖╕",
  70.    "íuTANG Ñ\134»α¿τ╝╞ívñú▒╡¿ⁿñ▐╝╞ í╨íu90+k*180ív½╫",
  71.    "íu%s Ñ\134»α¿τ╝╞ívñú╗▌ñ▐╝╞",                                       /*25*/
  72.    "¿╧Ñ╬ %s",
  73.    "¡p║Γ¡zÑy╢╖¼░íuªrªΩív",
  74.    "½ⁿ⌐w╣B║Γíu=íví╨ ¿╧Ñ╬ñúÑ┐╜T",
  75.    "╡L¬k▒N¡zÑy¬║╝╞¡╚½ⁿ⌐wñ⌐íu┼▄╝╞ %sív",
  76.    "ñ⌐íuÑ\134»α¿τ╝╞ NOR(v)ív¬║íu2DªV╢qív¬°½╫¼░íu0ív",                  /*30*/
  77.    "AutoLISP ▓┼╕╣íu%s ...ívñ╙¬°",
  78.    "ñú⌐·¬║ AutoCAD ¿t▓╬┼▄╝╞íu%sív",
  79.    "╢╚▒╡¿ⁿíu╣Ω╝╞ívíBíu╛π╝╞ív⌐╬íu┬Iív├■ºO¬║ AutoCAD ¿t▓╬┼▄╝╞",
  80.    "¿ñ½╫Ñ▓╢╖╝gª¿íu<½╫>d<ñ└>'<¼φ>\"ív¬║«µªí",
  81.    "┬I (ªV╢q) ¬║╗y¬kª│╗~",                                          /*35*/
  82.    "íuÑ\134»α¿τ╝╞ ANG(│╗┬I,p1,p2,p)ív¬║íupív┬Iª∞⌐≤ (│╗┬I,p1,p2) Ñ¡¡▒ñW",
  83.    "íuÑ\134»α¿τ╝╞ ANG(│╗┬I,p1,p2,p)ív¬║íu┬Iª∞ívñ@¡P",
  84.    "íuÑ\134»α¿τ╝╞ %sívñºñ▐╝╞╢╖¼░íuÑ┐¡╚ív",
  85.    "íuÑ\134»α¿τ╝╞ ANG(p1,p2)ív¬║íu2D┬Iª∞ívñ@¡P",
  86.    "íuÑ\134»α¿τ╝╞ %sívññ⌐w╕qñ@╜u¬║íuñG┬Iívñ@¡P",                       /*40*/
  87.    "íu¡zÑyívñññº╛π╝╞¡╚Ñ╝ñ╢⌐≤íu-32768 í╨ 32767ív",
  88.    "íuÑ\134»α¿τ╝╞ív¬║ªW║┘íu%sív¿├½Díu┐δ├╤ívñ╕",
  89.    "AutoLISP ┼▄╝╞íu%sív¬║¡╚╢╖¼░íu┬IívíBíu╣Ω╝╞ív⌐╬íu╛π╝╞ív",
  90.    "íu¡p║ΓÑ\134»α¿τ╝╞ív╣Lªh",
  91.    "AutoLISP ┼▄╝╞íu%sívññ¿Sª│¡╚",                                   /*45*/
  92.    "Ñ\134»α¿τ╝╞ªW║┘íBÑ\134»α¿τ╝╞½ⁿ╝╨ í╨ cal_register_function() ¼░íuNullív",
  93.    "íuÑ\134»α¿τ╝╞ %sívªW║┘ñ╙¬°",
  94.    "╣w│╞▒█┬α¬║íu┬Iív╕¿⌐≤íu▒█┬α╢bívñW",
  95.    "íuÑ\134»α¿τ╝╞ %sív¬║íuñ▐╝╞ªΩªCívññ╢╖Ñ[íu,ív╕╣",
  96.    "ñ⌐íuÑ\134»α¿τ╝╞ %sív¬║íuñ▐╝╞ív╣Lªh",                                 /*50*/
  97.    "íuÑ\134»α¿τ╝╞ NOR(p1,p2,p3)ívññ¬║┬Iª∞íuñ@¡Pív⌐╬íuª@╜uív",
  98.    "íuÑ\134»α¿τ╝╞ %sívñúªsªb",
  99.    "íuROT(p,╢b┬I1,╢b┬I2,¿ñ½╫)ívññ¬║íu╢b┬I1ív╗Píu╢b┬I2ív┬Iª∞ñ@¡P",
  100.    "íuÑ\134»α¿τ╝╞ %sívñññG╜uíuñú¼█ѵív⌐╬íuª@╜uív",
  101.    "íu╜uív╗PíuÑ¡¡▒ívÑ¡ªµ",                                          /*55*/
  102.    "íuÑ\134»α¿τ╝╞ ANG(v)ívññ¬║íu2DªV╢qív¬°½╫¼░ 0 ",
  103.    "íuÑ\134»α¿τ╝╞ ANG(│╗┬I,p1,p2)ívñºíu2D┬Iª∞ívñ@¡P",
  104.    "íuÑ\134»α¿τ╝╞ PLD(╢Z┬≈,p1,p2)ívñºíup1ív╗Píup2ív┬Iª∞ñ@¡P",
  105.    "⌐w╕qª╣Ñ¡¡▒¬║ñT┬Iª∞íuñ@¡Pív⌐╬íuª@╜uív",
  106.    "íuÑ\134»α¿τ╝╞ %sívñw╡n░O",                                        /*60*/
  107.    "íuÑ\134»α¿τ╝╞ %sívññ⌐w╕qñ@╜u¬║ñG▓╒íu2D┬Iª∞ívñ@¡P",
  108.    "ª╣╜uª∞⌐≤íuÑ¡¡▒ívñW",
  109.    "¿╧Ñ╬íuCVUNIT(╝╞¡╚,¡∞⌐l│µª∞,┬ন│µª∞)ív",
  110.    "CVUNIT ┬α┤½│µª∞Ñó▒╤",
  111. };
  112.  
  113.  
  114. /****************************************************************************/
  115. /*.doc error(external)*/
  116. /*+
  117.   Error reporting function. 'n' is the error number, 'str' is an additional
  118.   string argument which is printed only in some error messages.
  119.  
  120.   If the error number 'n' is 0, then the string 'str' is printed
  121.   instead of a message from the 'error_messages' array.
  122.  
  123.   The function does nothing if 'cal_err' is already non-zero, avoiding
  124.   chained error messages.
  125. -*/
  126. /****************************************************************************/
  127.  
  128.  
  129. void
  130. /*FCN*/error(n, str)
  131.  
  132.   int  n;                             /* Error number                       */
  133.   char *str;                          /* Additional string to print or NULL */
  134. {
  135.     cal_lex.sym = no_sym;
  136.  
  137.     if (cal_err != 0)
  138.         return;
  139.  
  140.     if (n != 0) {
  141.         cal_err = n;
  142.     } else {
  143.         cal_err = -999;
  144.         if (str == NULL)
  145.             return;                   /* Just assign cal_err = -999 */
  146.     }
  147.  
  148.     if (str == NULL)
  149.         str = "";
  150.  
  151.     ads_printf("\n>> ┐∙╗~: ");
  152.     if ((cal_err < 0) || (cal_err >= ELEMENTS(error_messages))) {
  153.         ads_printf("%d\n\n", cal_err);
  154.     } else {
  155.         ads_printf(error_messages[cal_err], str);
  156.         ads_printf(".\n\n");
  157.     }
  158. } /*error*/
  159.  
  160.  
  161.