ip.c
来自「linux下qmail的源码 本人加了一些注释」· C语言 代码 · 共 54 行
C
54 行
#include "fmt.h"#include "scan.h"#include "ip.h"unsigned int ip_fmt(s,ip)char *s;struct ip_address *ip;{ unsigned int len; unsigned int i; len = 0; i = fmt_ulong(s,(unsigned long) ip->d[0]); len += i; if (s) s += i; i = fmt_str(s,"."); len += i; if (s) s += i; i = fmt_ulong(s,(unsigned long) ip->d[1]); len += i; if (s) s += i; i = fmt_str(s,"."); len += i; if (s) s += i; i = fmt_ulong(s,(unsigned long) ip->d[2]); len += i; if (s) s += i; i = fmt_str(s,"."); len += i; if (s) s += i; i = fmt_ulong(s,(unsigned long) ip->d[3]); len += i; if (s) s += i; return len;}unsigned int ip_scan(s,ip)char *s;struct ip_address *ip;{ unsigned int i; unsigned int len; unsigned long u; len = 0; i = scan_ulong(s,&u); if (!i) return 0; ip->d[0] = u; s += i; len += i; if (*s != '.') return 0; ++s; ++len; i = scan_ulong(s,&u); if (!i) return 0; ip->d[1] = u; s += i; len += i; if (*s != '.') return 0; ++s; ++len; i = scan_ulong(s,&u); if (!i) return 0; ip->d[2] = u; s += i; len += i; if (*s != '.') return 0; ++s; ++len; i = scan_ulong(s,&u); if (!i) return 0; ip->d[3] = u; s += i; len += i; return len;}unsigned int ip_scanbracket(s,ip)char *s;struct ip_address *ip;{ unsigned int len; if (*s != '[') return 0; len = ip_scan(s + 1,ip); if (!len) return 0; if (s[len + 1] != ']') return 0; return len + 2;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?