《软件著作权源代码》由会员分享,可在线阅读,更多相关《软件著作权源代码(124页珍藏版)》请在金锄头文库上搜索。
1、-*include *include *include *include *include *include *include *include *include *include *include *include *include *include *include *include *include *include *include *define NS_MAIN 1*include *endif*ifdef DLZ*include *endifstatic tybs_boolean_twant_stats = TYBS_FALSE;static charprogram_nameTYB
2、S_DIR_NAMEMA* = named;static charabsolute_conffileTYBS_DIR_PATHMA*;static charsaved_command_line512;static charversion512;static unsigned intma*socks = 0;voidns_main_earlywarning(const char *format, .) va_list args;va_start(args, format);if (ns_g_lct* != NULL) tybs_log_vwrite(ns_g_lct*, NS_LOGCATEGO
3、RY_GENERAL, NS_LOGMODULE_MAIN, TYBS_LOG_WARNING, format, args); else fprintf(stderr, %s: , program_name);vfprintf(stderr, format, args);fprintf(stderr, n);fflush(stderr);va_end(args);Voidns_main_earlyfatal(const char *format, .) va_list args;va_start(args, format);if (ns_g_lct* != NULL) tybs_log_vwr
4、ite(ns_g_lct*, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, TYBS_LOG_CRITICAL, format, args);tybs_log_write(ns_g_lct*, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, TYBS_LOG_CRITICAL, e*iting (due to early fatal error); else fprintf(stderr, %s: , program_name);vfprintf(stderr, format, args);fprintf(stder
5、r, n);fflush(stderr);va_end(args);e*it(1);static voidassertion_failed(const char *file, int line, tybs_assertiontype_t type, const char *cond)if (ns_g_lct* != NULL) tybs_assertion_setcallback(NULL);tybs_log_write(ns_g_lct*, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, TYBS_LOG_CRITICAL, %s:%d: %s(%s)
6、failed, file, line,tybs_assertion_typetote*t(type), cond);tybs_log_write(ns_g_lct*, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, TYBS_LOG_CRITICAL, e*iting (due to assertion failure); else fprintf(stderr, %s:%d: %s(%s) failedn,file, line, tybs_assertion_typetote*t(type), cond);fflush(stderr);if (ns_g_
7、coreok)abort();e*it(1);static voidlibrary_fatal_error(const char *file, int line, const char *format, va_list args) TYBS_FORMAT_PRINTF(3, 0);static voidlibrary_fatal_error(const char *file, int line, const char *format, va_list args)if (ns_g_lct* != NULL) tybs_error_setfatal(NULL);tybs_log_write(ns_
8、g_lct*, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, TYBS_LOG_CRITICAL, %s:%d: fatal error:, file, line);tybs_log_vwrite(ns_g_lct*, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, TYBS_LOG_CRITICAL, format, args);tybs_log_write(ns_g_lct*, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, TYBS_LOG_CRITICAL, e*itin
9、g (due to fatal error in library); else fprintf(stderr, %s:%d: fatal error: , file, line);vfprintf(stderr, format, args);fprintf(stderr, n);fflush(stderr);if (ns_g_coreok)abort();e*it(1);static voidlibrary_une*pected_error(const char *file, int line, const char *format, va_list args) TYBS_FORMAT_PRI
10、NTF(3, 0);static voidlibrary_une*pected_error(const char *file, int line, const char *format, va_list args)if (ns_g_lct* != NULL) tybs_log_write(ns_g_lct*, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, TYBS_LOG_ERROR, %s:%d: une*pected error:, file, line);tybs_log_vwrite(ns_g_lct*, NS_LOGCATEGORY_GENER
11、AL, NS_LOGMODULE_MAIN, TYBS_LOG_ERROR, format, args); else fprintf(stderr, %s:%d: fatal error: , file, line);vfprintf(stderr, format, args);fprintf(stderr, n);fflush(stderr);static voidlwresd_usage(void) fprintf(stderr,usage: lwresd -4|-6 -c conffile | -C resolvconffile -d debugleveln -f|-g -n numbe
12、r_of_cpus -p port -P listen-port -sn -t chrootdir -u username -i pidfilen -m usage|trace|record|size|mct*n);static voidusage(void) if (ns_g_lwresdonly) lwresd_usage();return;fprintf(stderr,usage: named -4|-6 -c conffile -d debuglevel -f|-g -n number_of_cpusn -p port -s -t chrootdir -u usernamen -m usage|trace|record|size|mct*n);static voidsave_command_line(int argc, char *argv) int i;char *src;char *dst;char *eob;const char truncated = .;tybs_boolean_t quoted = TYBS_FALSE;dst = saved_command_line;eob = s