?? rcpthosts.c
字號(hào):
// 指定qmail可以接收的除本地主機(jī)名外的其他域名
#include "cdb.h"#include "byte.h"#include "open.h"#include "error.h"#include "control.h"#include "constmap.h"#include "stralloc.h"#include "rcpthosts.h"static int flagrh = 0;static stralloc rh = {0};static struct constmap maprh;static int fdmrh;int rcpthosts_init(){ flagrh = control_readfile(&rh,"control/rcpthosts",0); if (flagrh != 1) return flagrh; if (!constmap_init(&maprh,rh.s,rh.len,0)) return flagrh = -1; fdmrh = open_read("control/morercpthosts.cdb"); if (fdmrh == -1) if (errno != error_noent) return flagrh = -1; return 0;}static stralloc host = {0};int rcpthosts(buf,len)char *buf;int len;{ int j; if (flagrh != 1) return 1; j = byte_rchr(buf,len,'@'); if (j >= len) return 1; /* presumably envnoathost is acceptable */ ++j; buf += j; len -= j; if (!stralloc_copyb(&host,buf,len)) return -1; buf = host.s; case_lowerb(buf,len); for (j = 0;j < len;++j) if (!j || (buf[j] == '.')) if (constmap(&maprh,buf + j,len - j)) return 1; if (fdmrh != -1) { uint32 dlen; int r; for (j = 0;j < len;++j) if (!j || (buf[j] == '.')) { r = cdb_seek(fdmrh,buf + j,len - j,&dlen); if (r) return r; } } return 0;}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -