📄 htmime.c
字号:
me->if_ok = miALTERNATES; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was AL, found T, checking for 'ernates:'\n")); break; default: CTRACE((tfp, "HTMIME: Bad character `%c' found where `%s' expected\n", c, "'l' or 't'")); goto bad_field_name; } /* switch on character */ break; case miC: /* Check for 'a' or 'o' */ switch (c) { case 'a': case 'A': me->check_pointer = "che-control:"; me->if_ok = miCACHE_CONTROL; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was C, found A, checking for 'che-control:'\n")); break; case 'o': case 'O': me->state = miCO; CTRACE((tfp, "HTMIME: Was C, found O, state now CO'\n")); break; default: CTRACE((tfp, "HTMIME: Bad character `%c' found where `%s' expected\n", c, "'a' or 'o'")); goto bad_field_name; } /* switch on character */ break; case miCO: /* Check for 'n' or 'o' */ switch (c) { case 'n': case 'N': me->state = miCON; CTRACE((tfp, "HTMIME: Was CO, found N, state now CON\n")); break; case 'o': case 'O': me->check_pointer = "kie:"; me->if_ok = miCOOKIE; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was CO, found O, checking for 'kie:'\n")); break; default: CTRACE((tfp, "HTMIME: Bad character `%c' found where `%s' expected\n", c, "'n' or 'o'")); goto bad_field_name; } /* switch on character */ break; case miCON: /* Check for 'n' or 't' */ switch (c) { case 'n': case 'N': me->check_pointer = "ection:"; me->if_ok = miCONNECTION; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was CON, found N, checking for 'ection:'\n")); break; case 't': case 'T': me->check_pointer = "ent-"; me->if_ok = miCONTENT_; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was CON, found T, checking for 'ent-'\n")); break; default: CTRACE((tfp, "HTMIME: Bad character `%c' found where `%s' expected\n", c, "'n' or 't'")); goto bad_field_name; } /* switch on character */ break; case miE: /* Check for 't' or 'x' */ switch (c) { case 't': case 'T': me->check_pointer = "ag:"; me->if_ok = miETAG; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was E, found T, checking for 'ag:'\n")); break; case 'x': case 'X': me->check_pointer = "pires:"; me->if_ok = miEXPIRES; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was E, found X, checking for 'pires:'\n")); break; default: CTRACE((tfp, "HTMIME: Bad character `%c' found where `%s' expected\n", c, "'t' or 'x'")); goto bad_field_name; } /* switch on character */ break; case miL: /* Check for 'a', 'i' or 'o' */ switch (c) { case 'a': case 'A': me->check_pointer = "st-modified:"; me->if_ok = miLAST_MODIFIED; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was L, found A, checking for 'st-modified:'\n")); break; case 'i': case 'I': me->check_pointer = "nk:"; me->if_ok = miLINK; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was L, found I, checking for 'nk:'\n")); break; case 'o': case 'O': me->check_pointer = "cation:"; me->if_ok = miLOCATION; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was L, found O, checking for 'cation:'\n")); break; default: CTRACE((tfp, "HTMIME: Bad character `%c' found where `%s' expected\n", c, "'a', 'i' or 'o'")); goto bad_field_name; } /* switch on character */ break; case miP: /* Check for 'r' or 'u' */ switch (c) { case 'r': case 'R': me->state = miPR; CTRACE((tfp, "HTMIME: Was P, found R, state now PR'\n")); break; case 'u': case 'U': me->check_pointer = "blic:"; me->if_ok = miPUBLIC; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was P, found U, checking for 'blic:'\n")); break; default: CTRACE((tfp, "HTMIME: Bad character `%c' found where `%s' expected\n", c, "'r' or 'u'")); goto bad_field_name; } /* switch on character */ break; case miPR: /* Check for 'a' or 'o' */ switch (c) { case 'a': case 'A': me->check_pointer = "gma:"; me->if_ok = miPRAGMA; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was PR, found A, checking for 'gma'\n")); break; case 'o': case 'O': me->check_pointer = "xy-authenticate:"; me->if_ok = miPROXY_AUTHENTICATE; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was PR, found O, checking for 'xy-authenticate'\n")); break; default: CTRACE((tfp, "HTMIME: Bad character `%c' found where `%s' expected\n", c, "'a' or 'o'")); goto bad_field_name; } /* switch on character */ break; case miR: /* Check for 'e' */ switch (c) { case 'e': case 'E': me->state = miRE; CTRACE((tfp, "HTMIME: Was R, found E\n")); break; default: CTRACE((tfp, "HTMIME: Bad character `%c' found where `%s' expected\n", c, "'e'")); goto bad_field_name; } /* switch on character */ break; case miRE: /* Check for 'a' or 'o' */ switch (c) { case 'f': case 'F': /* nonstandard: Netscape */ me->check_pointer = "resh:"; me->if_ok = miREFRESH; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was RE, found F, checking for '%s'\n", me->check_pointer)); break; case 't': case 'T': me->check_pointer = "ry-after:"; me->if_ok = miRETRY_AFTER; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was RE, found T, checking for '%s'\n", me->check_pointer)); break; default: CTRACE((tfp, "HTMIME: Bad character `%c' found where `%s' expected\n", c, "'f' or 't'")); goto bad_field_name; } /* switch on character */ break; case miS: /* Check for 'a' or 'e' */ switch (c) { case 'a': case 'A': me->check_pointer = "fe:"; me->if_ok = miSAFE; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was S, found A, checking for 'fe:'\n")); break; case 'e': case 'E': me->state = miSE; CTRACE((tfp, "HTMIME: Was S, found E, state now SE'\n")); break; default: CTRACE((tfp, "HTMIME: Bad character `%c' found where `%s' expected\n", c, "'a' or 'e'")); goto bad_field_name; } /* switch on character */ break; case miSE: /* Check for 'r' or 't' */ switch (c) { case 'r': case 'R': me->check_pointer = "ver:"; me->if_ok = miSERVER; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was SE, found R, checking for 'ver'\n")); break; case 't': case 'T': me->check_pointer = "-cookie"; me->if_ok = miSET_COOKIE; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was SE, found T, checking for '-cookie'\n")); break; default: CTRACE((tfp, "HTMIME: Bad character `%c' found where `%s' expected\n", c, "'r' or 't'")); goto bad_field_name; } /* switch on character */ break; case miSET_COOKIE: /* Check for ':' or '2' */ switch (c) { case ':': me->field = miSET_COOKIE1; /* remember it */ me->state = miSKIP_GET_VALUE; CTRACE((tfp, "HTMIME: Was SET_COOKIE, found :, processing\n")); break; case '2': me->check_pointer = ":"; me->if_ok = miSET_COOKIE2; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was SET_COOKIE, found 2, checking for ':'\n")); break; default: CTRACE((tfp, "HTMIME: Bad character `%c' found where `%s' expected\n", c, "':' or '2'")); goto bad_field_name; } /* switch on character */ break; case miT: /* Check for 'i' or 'r' */ switch (c) { case 'i': case 'I': me->check_pointer = "tle:"; me->if_ok = miTITLE; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was T, found I, checking for 'tle:'\n")); break; case 'r': case 'R': me->check_pointer = "ansfer-encoding:"; me->if_ok = miTRANSFER_ENCODING; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was T, found R, checking for 'ansfer-encoding'\n")); break; default: CTRACE((tfp, "HTMIME: Bad character `%c' found where `%s' expected\n", c, "'i' or 'r'")); goto bad_field_name; } /* switch on character */ break; case miU: /* Check for 'p' or 'r' */ switch (c) { case 'p': case 'P': me->check_pointer = "grade:"; me->if_ok = miUPGRADE; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was U, found P, checking for 'grade:'\n")); break; case 'r': case 'R': me->check_pointer = "i:"; me->if_ok = miURI; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was U, found R, checking for 'i:'\n")); break; default: CTRACE((tfp, "HTMIME: Bad character `%c' found where `%s' expected\n", c, "'p' or 'r'")); goto bad_field_name; } /* switch on character */ break; case miV: /* Check for 'a' or 'i' */ switch (c) { case 'a': case 'A': me->check_pointer = "ry:"; me->if_ok = miVARY; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was V, found A, checking for 'ry:'\n")); break; case 'i': case 'I': me->check_pointer = "a:"; me->if_ok = miVIA; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was V, found I, checking for 'a:'\n")); break; default: CTRACE((tfp, "HTMIME: Bad character `%c' found where `%s' expected\n", c, "'a' or 'i'")); goto bad_field_name; } /* switch on character */ break; case miW: /* Check for 'a' or 'w' */ switch (c) { case 'a': case 'A': me->check_pointer = "rning:"; me->if_ok = miWARNING; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was W, found A, checking for 'rning:'\n")); break; case 'w': case 'W': me->check_pointer = "w-authenticate:"; me->if_ok = miWWW_AUTHENTICATE; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was W, found W, checking for 'w-authenticate:'\n")); break; default: CTRACE((tfp, "HTMIME: Bad character `%c' found where `%s' expected\n", c, "'a' or 'w'")); goto bad_field_name; } /* switch on character */ break; case miCHECK: /* Check against string */ if (TOLOWER(c) == *(me->check_pointer)++) { if (!*me->check_pointer) me->state = me->if_ok; } else { /* Error */ CTRACE((tfp, "HTMIME: Bad character `%c' found where `%s' expected\n", c, me->check_pointer - 1)); goto bad_field_name; } break; case miCONTENT_: CTRACE((tfp, "HTMIME: in case CONTENT_\n")); switch(c) { case 'b': case 'B': me->check_pointer = "ase:"; me->if_ok = miCONTENT_BASE; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was CONTENT_, found B, checking for 'ase:'\n")); break; case 'd': case 'D': me->check_pointer = "isposition:"; me->if_ok = miCONTENT_DISPOSITION; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was CONTENT_, found D, checking for 'isposition:'\n")); break; case 'e': case 'E': me->check_pointer = "ncoding:"; me->if_ok = miCONTENT_ENCODING; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was CONTENT_, found E, checking for 'ncoding:'\n")); break; case 'f': case 'F': me->check_pointer = "eatures:"; me->if_ok = miCONTENT_FEATURES; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was CONTENT_, found F, checking for 'eatures:'\n")); break; case 'l': case 'L': me->state = miCONTENT_L; CTRACE((tfp, "HTMIME: Was CONTENT_, found L, state now CONTENT_L\n")); break; case 'm': case 'M': me->check_pointer = "d5:"; me->if_ok = miCONTENT_MD5; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was CONTENT_, found M, checking for 'd5:'\n")); break; case 'r': case 'R': me->check_pointer = "ange:"; me->if_ok = miCONTENT_RANGE; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was CONTENT_, found R, checking for 'ange:'\n")); break; case 't': case 'T': me->state = miCONTENT_T; CTRACE((tfp, "HTMIME: Was CONTENT_, found T, state now CONTENT_T\n")); break; default: CTRACE((tfp, "HTMIME: Was CONTENT_, found nothing; bleah\n")); goto bad_field_name; } /* switch on character */ break; case miCONTENT_L: CTRACE((tfp, "HTMIME: in case CONTENT_L\n")); switch(c) { case 'a': case 'A': me->check_pointer = "nguage:"; me->if_ok = miCONTENT_LANGUAGE; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was CONTENT_L, found A, checking for 'nguage:'\n")); break; case 'e': case 'E': me->check_pointer = "ngth:"; me->if_ok = miCONTENT_LENGTH; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was CONTENT_L, found E, checking for 'ngth:'\n")); break; case 'o': case 'O': me->check_pointer = "cation:"; me->if_ok = miCONTENT_LOCATION; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was CONTENT_L, found O, checking for 'cation:'\n")); break; default: CTRACE((tfp, "HTMIME: Was CONTENT_L, found nothing; bleah\n")); goto bad_field_name; } /* switch on character */ break; case miCONTENT_T: CTRACE((tfp, "HTMIME: in case CONTENT_T\n")); switch(c) { case 'r': case 'R': me->check_pointer = "ansfer-encoding:"; me->if_ok = miCONTENT_TRANSFER_ENCODING; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was CONTENT_T, found R, checking for 'ansfer-encoding:'\n")); break; case 'y': case 'Y': me->check_pointer = "pe:"; me->if_ok = miCONTENT_TYPE; me->state = miCHECK; CTRACE((tfp, "HTMIME: Was CONTENT_T, found Y, checking for 'pe:'\n")); break; default: CTRACE((tfp, "HTMIME: Was CONTENT_T, found nothing; bleah\n")); goto bad_field_name; } /* switch on character */ break; case miACCEPT_RANGES: case miAGE: case miALLOW: case miALTERNATES: case miCACHE_CONTROL: case miCOOKIE: case miCONNECTION: case miCONTENT_BASE: case miCONTENT_DISPOSITION: case miCONTENT_ENCODING: case miCONTENT_FEATURES: case miCONTENT_LANGUAGE: case miCONTENT_LENGTH: case miCONTENT_LOCATION: case miCONTENT_MD5: case miCONTENT_RANGE: case miCONTENT_TRANSFER_ENCODING: case miCONTENT_TYPE: case miDATE: case miETAG: case miEXPIRES: case miKEEP_ALIVE: case miLAST_MODIFIED: case miLINK: case miLOCATION: case miPRAGMA: case miPROXY_AUTHENTICATE: case miPUBLIC: case miREFRESH: case miRETRY_AFTER: case miSAFE:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -