⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 error.c

📁 俄罗斯高人Mamaich的Pocket gcc编译器(运行在PocketPC上)的全部源代码。
💻 C
字号:
#include <stdlib.h>
#include <errno.h>

#include "sys/wcefile.h"
#include "sys/wceerror.h"

char *_error_list[] = {
  "No error", /* 0 */
  "EPERM",
  "No such file or directory", /* ENOENT */
  "ESRCH",
  "EINTR",
  "EIO",
  "ENXIO",
  "E2BIG",
  "ENOEXEC",
  "Bad file descriptor", /* EBADF */
  "ECHILD",
  "EAGAIN",
  "ENOMEM",
  "Permission denied", /*EACCESS */
  "EFAULT",
  "NOSUCHERROR",
  "EBUSY",
  "File exists", /* EEXISTS */
  "EXDEV",
  "ENODEV",
  "ENOTDIR",
  "EISDIR",
  "Invalid argument", /* EINVAL */
  "ENFILE",
  "EMFILE",
  "ENOTTY",
  "NOSUCHERROR",
  "EFBIG",
  "Disk full", /* ENOSPC */
  "ESPIPE",
  "EROFS",
  "EMLINK",
  "Broken pipe", /* EPIPE */
  "EDOM",
  "ERANGE",
  "NOSUCHERROR",
  "EDEADLK",
  "Unimplemented system call", /* ENOSYS */
  NULL
};

int
_winerr2errno(DWORD werror)
{
  switch(werror) {
  case 0:
    return 0;
  case ERROR_FILE_NOT_FOUND:
  case ERROR_PATH_NOT_FOUND:
    return ENOENT;
  case ERROR_ACCESS_DENIED:
    return EACCES;
  case ERROR_DEV_NOT_EXIST:
    return ENODEV;
  case ERROR_ALREADY_EXISTS:
    return EEXIST;

  default:
    return ENOTSUP;
  }
  return ENOTSUP;
}

#if 0
void
xceperror(const char *s)
{
  char buf[126];

  xceprinterror("%s: %s\n", s, xcestrerror(errno));
}

char *
xcestrerror(int n)
{
  static char buf[125];

  if(n < 0)
    {
      sprintf(buf, "Strange Error %d", n);
    }
  else if(n == EOSERR)
    {
      sprintf(buf, "OsError: %d", GetLastError());
    }
  else if(n > ENOSYS)
    {
      // maybe its a socket error/windows error
      strcpy(buf, xcewinstrerror(n));
    }
  else
    {
      strcpy(buf, _error_list[n]);
    }

  return buf;
}
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -