utility.c
上传用户:ig0539
上传日期:2022-05-21
资源大小:181k
文件大小:1k
源码类别:

Ftp客户端

开发平台:

C/C++

  1. /*
  2.  * Part of Very Secure FTPd
  3.  * Licence: GPL v2
  4.  * Author: Chris Evans
  5.  * utility.c
  6.  */
  7. #include "utility.h"
  8. #include "sysutil.h"
  9. #include "str.h"
  10. #include "defs.h"
  11. #define DIE_DEBUG
  12. void
  13. die(const char* p_text)
  14. {
  15. #ifdef DIE_DEBUG
  16.   bug(p_text);
  17. #endif
  18.   vsf_sysutil_exit(1);
  19. }
  20. void
  21. die2(const char* p_text1, const char* p_text2)
  22. {
  23.   struct mystr die_str = INIT_MYSTR;
  24.   str_alloc_text(&die_str, p_text1);
  25.   str_append_text(&die_str, p_text2);
  26.   die(str_getbuf(&die_str));
  27. }
  28. void
  29. bug(const char* p_text)
  30. {
  31.   /* Rats. Try and write the reason to the network for diagnostics */
  32.   vsf_sysutil_activate_noblock(VSFTP_COMMAND_FD);
  33.   (void) vsf_sysutil_write_loop(VSFTP_COMMAND_FD, "500 OOPS: ", 10);
  34.   (void) vsf_sysutil_write_loop(VSFTP_COMMAND_FD, p_text,
  35.                                 vsf_sysutil_strlen(p_text));
  36.   (void) vsf_sysutil_write_loop(VSFTP_COMMAND_FD, "rn", 2);
  37.   vsf_sysutil_exit(1);
  38. }
  39. void
  40. vsf_exit(const char* p_text)
  41. {
  42.   (void) vsf_sysutil_write_loop(VSFTP_COMMAND_FD, p_text,
  43.                                 vsf_sysutil_strlen(p_text));
  44.   vsf_sysutil_exit(0);
  45. }