gethead.c
来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 41 行
C
41 行
#include <u.h>#include <libc.h>#include <bin.h>#include <httpd.h>/* * read in some header lines, either one or all of them. * copy results into header log buffer. */inthgethead(HConnect *c, int many){ Hio *hin; char *s, *p, *pp; int n; hin = &c->hin; for(;;){ s = (char*)hin->pos; pp = s; while(p = memchr(pp, '\n', (char*)hin->stop - pp)){ if(!many || p == pp || (p == pp + 1 && *pp == '\r')){ pp = p + 1; break; } pp = p + 1; } hin->pos = (uchar*)pp; n = pp - s; if(c->hstop + n > &c->header[HBufSize]) return -1; memmove(c->hstop, s, n); c->hstop += n; *c->hstop = '\0'; if(p != nil) return 0; if(hreadbuf(hin, hin->pos) == nil || hin->state == Hend) return -1; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?