home *** CD-ROM | disk | FTP | other *** search
/ Atari FTP / ATARI_FTP_0693.zip / ATARI_FTP_0693 / Mint / mntlib32.zoo / strerror.c < prev    next >
C/C++ Source or Header  |  1993-06-17  |  3KB  |  121 lines

  1. /* from Henry Spencer's stringlib */
  2. #include <string.h>
  3.  
  4. static char nullstr[] = "unknown error";
  5.  
  6. char *sys_errlist[] =
  7.     {
  8.     "OK",                    /* 0 */
  9.     "error",                /* 1 */
  10.     "drive not ready",            /* 2 */
  11.     "unknown command",            /* 3 */
  12.     "crc error",                /* 4 */
  13.     "bad request",                /* 5 */
  14.     "seek error",                /* 6 */
  15.     "unknown media",            /* 7 */
  16.     "sector not found",            /* 8 */
  17.     "out of paper",                /* 9 */
  18.     "write failure",            /* 10 */
  19.     "read failure",                /* 11 */
  20.     "general mishap",            /* 12 */
  21.     "media write protected",        /* 13 */
  22.     "media changed",            /* 14 */
  23.     "unknown device",            /* 15 */
  24.     "bad sectors on format",        /* 16 */
  25.     "disk swap request",            /* 17 */
  26.     nullstr,                /* 18 */
  27.     nullstr,                /* 19 */
  28.     nullstr,                /* 20 */
  29.     nullstr,                /* 21 */
  30.     nullstr,                /* 22 */
  31.     nullstr,                /* 23 */
  32.     nullstr,                /* 24 */
  33.     nullstr,                /* 25 */
  34.     nullstr,                /* 26 */
  35.     nullstr,                /* 27 */
  36.     nullstr,                /* 28 */
  37.     nullstr,                /* 29 */
  38.     nullstr,                /* 30 */
  39.     nullstr,                /* 31 */
  40.     "invalid function number",        /* 32 */
  41.     "file not found",            /* 33 */
  42.     "path not found",            /* 34 */
  43.     "no more handles",            /* 35 */
  44.     "access denied",            /* 36 */
  45.     "invalid handle",            /* 37 */
  46.     nullstr,                /* 38 */
  47.     "out of memory",            /* 39 */
  48.     "invalid memory block",            /* 40 */
  49.     nullstr,                /* 41 */
  50.     nullstr,                /* 42 */
  51.     nullstr,                /* 43 */
  52.     nullstr,                /* 44 */
  53.     nullstr,                /* 45 */
  54.     "invalid drive id",            /* 46 */
  55.     nullstr,                /* 47 */
  56.     "rename across drives",            /* 48 */
  57.     "no more files",            /* 49 */
  58.     nullstr,                /* 50 */
  59.     nullstr,                /* 51 */
  60.     nullstr,                /* 52 */
  61.     nullstr,                /* 53 */
  62.     nullstr,                /* 54 */
  63.     nullstr,                /* 55 */
  64.     nullstr,                /* 56 */
  65.     nullstr,                /* 57 */
  66.     nullstr,                /* 58 */
  67.     nullstr,                /* 59 */
  68.     nullstr,                /* 60 */
  69.     nullstr,                /* 61 */
  70.     nullstr,                /* 62 */
  71.     nullstr,                /* 63 */
  72.     "range error/bad argument",        /* 64 */
  73.     "internal error",            /* 65 */
  74.     "bad executable format",        /* 66 */
  75.     "memory block growth failure",        /* 67 */
  76.     nullstr,                /* 68 */
  77.     nullstr,                /* 69 */
  78.     nullstr,                /* 70 */
  79.     nullstr,                /* 71 */
  80.     nullstr,                /* 72 */
  81.     nullstr,                /* 73 */
  82.     nullstr,                /* 74 */
  83.     nullstr,                /* 75 */
  84.     nullstr,                /* 76 */
  85.     nullstr,                /* 77 */
  86.     nullstr,                /* 78 */
  87.     nullstr,                /* 79 */
  88.     "too many symbolic links",        /* 80 */
  89.     "broken pipe",                /* 81 */
  90.     nullstr,                /* 82 */
  91.     nullstr,                /* 83 */
  92.     nullstr,                /* 84 */
  93.     "file already exists",            /* 85 */
  94.     "name too long",            /* 86 */
  95.     "not a tty",                /* 87 */
  96.     "range error",                /* 88 */
  97.     "domain error",                /* 89 */
  98.     "I/O error",                /* 90 */
  99.     "disk full"                /* 91 */
  100.     };
  101.  
  102. int    sys_nerr = (int)(sizeof(sys_errlist)/sizeof(sys_errlist[0]));
  103.  
  104. /*
  105.  * strerror - map error number to descriptive string
  106.  *
  107.  */
  108.  
  109. char *
  110. strerror(errnum)
  111. int errnum;
  112. {
  113.     extern int sys_nerr;
  114.     extern char *sys_errlist[];
  115.  
  116.     if (errnum >= 0 && errnum < sys_nerr)
  117.         return(sys_errlist[errnum]);
  118.     else
  119.         return(nullstr);
  120. }
  121.