err.c
上传用户:lampled
上传日期:2007-01-07
资源大小:94k
文件大小:2k
源码类别:

Web服务器

开发平台:

Unix_Linux

  1. /* Copyright (C) 1995, 1996 by Sven Berkvens (sven@stack.nl) */
  2. #include "config.h"
  3. #include <stdio.h>
  4. #ifdef NONEWSTYLE
  5. #include <varargs.h>
  6. #else /* Not NONEWSTYLE */
  7. #include <stdarg.h>
  8. #endif /* NONEWSTYLE */
  9. #include <errno.h>
  10. #include "string.h"
  11. #ifndef HAVE_ERR_H
  12. #ifndef NONEWSTYLE
  13. extern VOID
  14. err(int code, const char *format, ...)
  15. {
  16. va_list ap;
  17. int olderrno;
  18. olderrno = errno;
  19. va_start(ap, format);
  20. vfprintf(stderr, format, ap);
  21. va_end(ap);
  22. fprintf(stderr, ": %sn", strerror(olderrno));
  23. exit(code);
  24. }
  25. extern VOID
  26. errx(int code, const char *format, ...)
  27. {
  28. va_list ap;
  29. va_start(ap, format);
  30. vfprintf(stderr, format, ap);
  31. va_end(ap);
  32. fprintf(stderr, "n");
  33. exit(code);
  34. }
  35. extern VOID
  36. warn(const char *format, ...)
  37. {
  38. va_list ap;
  39. int olderrno;
  40. olderrno = errno;
  41. va_start(ap, format);
  42. vfprintf(stderr, format, ap);
  43. va_end(ap);
  44. fprintf(stderr, ": %sn", strerror(olderrno));
  45. errno = olderrno;
  46. }
  47. #else /* Not not NONEWSTYLE */
  48. extern VOID
  49. err(code, format, va_alist)
  50. int code;
  51. const char *format;
  52. va_dcl
  53. {
  54. va_list ap;
  55. int olderrno;
  56. olderrno = errno;
  57. va_start(ap);
  58. vfprintf(stderr, format, ap);
  59. va_end(ap);
  60. fprintf(stderr, ": %sn", strerror(olderrno));
  61. exit(code);
  62. }
  63. extern VOID
  64. errx(code, format, va_alist)
  65. int code;
  66. const char *format;
  67. va_dcl
  68. {
  69. va_list ap;
  70. va_start(ap);
  71. vfprintf(stderr, format, ap);
  72. va_end(ap);
  73. fprintf(stderr, "n");
  74. exit(code);
  75. }
  76. extern VOID
  77. warn(format, va_alist)
  78. const char *format;
  79. va_dcl
  80. {
  81. va_list ap;
  82. int olderrno;
  83. olderrno = errno;
  84. va_start(ap);
  85. vfprintf(stderr, format, ap);
  86. va_end(ap);
  87. fprintf(stderr, ": %sn", strerror(olderrno));
  88. errno = olderrno;
  89. }
  90. #endif /* NONEWSTYLE */
  91. #endif /* HAVE_ERR_H */