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

📄 error_message.c

📁 早期freebsd实现
💻 C
字号:
/* * $Header: error_message.c,v 1.1 86/11/10 21:34:34 spook Exp $ * $Source: /mit/s/p/spook/Work/et/RCS/error_message.c,v $ * $Locker: spook $ * * Copyright 1987 by the Student Information Processing Board * of the Massachusetts Institute of Technology * * For copyright info, see "mit-sipb-copyright.h". */#include <stdio.h>#include "error_table.h"#include "mit-sipb-copyright.h"extern const char *const sys_errlist[];extern int sys_nerr;static char buffer[25];char *error_message(code)     int code;{     register int offset;     register error_table **et;     register int table_num;     register int div;     register char *cp;     offset = code & ((1<<ERRCODE_RANGE)-1);     table_num = code - offset;     if ((_et_list == (error_table **)NULL) && table_num)	  goto oops;     if (!table_num) {	  if (offset < sys_nerr)	       return((char *)sys_errlist[offset]);	  else	       goto oops;     }     for (et = _et_list; *et != (error_table *)NULL; et++) {	  if ((*et)->base == table_num) {	       /* This is the right table */	       if ((*et)->n_msgs <= offset)		    goto oops;	       return((*et)->msgs[offset]);	  }     } oops:     cp = buffer;     {	  register char *cp1;	  for (cp1 = "Unknown code "; *cp1; cp1++, cp++)	       *cp = *cp1;	  if (table_num) {	       for (cp1 = error_table_name(table_num); *cp1; cp1++, cp++)		    *cp = *cp1;	       *cp++ = ' ';	       *cp = '\0';	  }     }     div = 1000000000;     if (offset == 0) {	  *cp++ = '0';	  *cp = '\0';	  return(buffer);     }     while (div > offset)	  div /= 10;     do {	  register int n = offset / div;	  *cp++ = '0' + n;	  offset -= n * div;	  div /= 10;     } while (offset && div);     while (div) {	  *cp++ = '0';	  div /= 10;     }     *cp = '\0';     return(buffer);}

⌨️ 快捷键说明

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