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 + -
显示快捷键?