⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cslabel.c

📁 www工具包. 这是W3C官方支持的www支撑库. 其中提供通用目的的客户端的WebAPI: complete HTTP/1.1 (with caching, pipelining, PUT, POS
💻 C
📖 第 1 页 / 共 5 页
字号:
{    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);    ParseContext_t * pParseContext = pCSParse->pParseContext;    if (!token || !pParseContext->observedQuotes)        return StateRet_WARN_NO_MATCH;    if (Punct_badDemark(pStateToken->validPunctuation, demark))        return StateRet_WARN_BAD_PUNCT;    CHECK_CAR_SET(CharSet_URL)    SVal_readVal(&pCSLabel->pCurrentServiceInfo->rating_service, token);    return StateRet_OK;}PRIVATE StateRet_t ServiceInfo_close(CSParse_t * pCSParse, char * token, char demark){    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);    pCSLabel->pCurrentServiceInfo = 0;	return StateRet_OK;}PRIVATE void ServiceInfo_destroy(CSParse_t * pCSParse){    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);    HTList_removeObject(pCSLabel->pCSLLData->serviceInfos, (void *)pCSLabel->pCurrentServiceInfo);    ServiceInfo_free(pCSLabel->pCurrentServiceInfo);    pCSLabel->pCurrentServiceInfo = 0;}PRIVATE StateRet_t ServiceInfo_clearOpts(CSParse_t * pCSParse, char * token, char demark){    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);    pCSLabel->pCurrentLabelOptions = 0; /* needed to flag new SingleLabel started by option */    return StateRet_OK;}PRIVATE StateRet_t Label_open(CSParse_t * pCSParse, char * token, char demark){    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);    pCSLabel->pCurrentLabel = Label_new();    pCSLabel->currentLabelNumber++;    HTList_appendObject(pCSLabel->pCurrentServiceInfo->labels, (void*)pCSLabel->pCurrentLabel);    return StateRet_OK;}PRIVATE StateRet_t Label_close(CSParse_t * pCSParse, char * token, char demark){    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);    pCSLabel->pCurrentLabel = 0;    return StateRet_OK;}PRIVATE void Label_destroy(CSParse_t * pCSParse){    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);    HTList_removeObject(pCSLabel->pCurrentServiceInfo->labels, pCSLabel->pCurrentLabel);    Label_free(pCSLabel->pCurrentLabel);    pCSLabel->pCurrentLabel = 0;}PRIVATE StateRet_t LabelTree_open(CSParse_t * pCSParse, char * token, char demark){    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);    pCSLabel->pCSLLData->hasTree = 1;    pCSLabel->pCurrentLabelTree = pCSLabel->pCurrentLabel->singleLabels = HTList_new();    return StateRet_OK;}PRIVATE StateRet_t LabelTree_close(CSParse_t * pCSParse, char * token, char demark){    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);/*    Label_close(pCSParse, token, demark); */    pCSLabel->pCurrentLabelTree = 0;    return StateRet_OK;}PRIVATE void LabelTree_destroy(CSParse_t * pCSParse){    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);    SingleLabel_t * pSingleLabel;    while ((pSingleLabel = (SingleLabel_t *) HTList_removeLastObject(pCSLabel->pCurrentLabel->singleLabels)))        SingleLabel_free(pSingleLabel);    HTList_delete(pCSLabel->pCurrentLabel->singleLabels);    pCSLabel->pCurrentLabel->singleLabels = 0;}PRIVATE StateRet_t SingleLabel_open(CSParse_t * pCSParse, char * token, char demark){    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);    pCSLabel->pCurrentSingleLabel = SingleLabel_new(pCSLabel->pCurrentLabelOptions, pCSLabel->pCurrentServiceInfo->pLabelOptions);    if (pCSLabel->pCurrentLabel->singleLabels)        HTList_appendObject(pCSLabel->pCurrentLabel->singleLabels, (void*)pCSLabel->pCurrentSingleLabel);    else        pCSLabel->pCurrentLabel->pSingleLabel = pCSLabel->pCurrentSingleLabel;    pCSLabel->pCurrentLabelOptions = pCSLabel->pCurrentSingleLabel->pLabelOptions;    return StateRet_OK;}PRIVATE StateRet_t SingleLabel_close(CSParse_t * pCSParse, char * token, char demark){    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);    pCSLabel->pCurrentSingleLabel = 0;    return StateRet_OK;}PRIVATE void SingleLabel_destroy(CSParse_t * pCSParse){    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);    if (pCSLabel->pCurrentLabel->pSingleLabel)        pCSLabel->pCurrentLabel->pSingleLabel = 0;    else        HTList_removeObject(pCSLabel->pCurrentLabel->singleLabels, (void *)pCSLabel->pCurrentSingleLabel);    SingleLabel_free(pCSLabel->pCurrentSingleLabel);    pCSLabel->pCurrentSingleLabel = 0;}PRIVATE StateRet_t LabelRating_open(CSParse_t * pCSParse, char * token, char demark){    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);    if (!pCSLabel->pCurrentSingleLabel) /* switched from label to rating on "r" rather than <option> */        SingleLabel_open(pCSParse, token, demark);    pCSLabel->pCurrentLabelRating = LabelRating_new();    HTList_appendObject(pCSLabel->pCurrentSingleLabel->labelRatings, (void*)pCSLabel->pCurrentLabelRating);    pCSLabel->pCurrentLabelOptions = 0;    return StateRet_OK;}PRIVATE StateRet_t LabelRating_getId(CSParse_t * pCSParse, StateToken_t * pStateToken, char * token, char demark){    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);    if (Punct_badDemark(pStateToken->validPunctuation, demark))        return StateRet_WARN_BAD_PUNCT;    CHECK_CAR_SET(CharSet_TRANSMIT_NAME)    SVal_readVal(&pCSLabel->pCurrentLabelRating->identifier, token);    return StateRet_OK;}PRIVATE StateRet_t LabelRating_getValue(CSParse_t * pCSParse, StateToken_t * pStateToken, char * token, char demark){    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);    if (Punct_badDemark(pStateToken->validPunctuation, demark))        return StateRet_WARN_BAD_PUNCT;    FVal_readVal(&pCSLabel->pCurrentLabelRating->value, token);    return StateRet_OK;}PRIVATE StateRet_t LabelRating_close(CSParse_t * pCSParse, char * token, char demark){    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);    pCSLabel->pCurrentLabelRating = 0;    return StateRet_OK;}PRIVATE void LabelRating_destroy(CSParse_t * pCSParse){    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);    HTList_removeObject(pCSLabel->pCurrentSingleLabel->labelRatings, (void *)pCSLabel->pCurrentLabelRating);    LabelRating_free(pCSLabel->pCurrentLabelRating);    pCSLabel->pCurrentLabelRating = 0;}PRIVATE StateRet_t LabelRating_next(CSParse_t * pCSParse, char * token, char demark){    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);    SingleLabel_doClose(pCSParse, token, demark);    if (pCSLabel->pCurrentLabelTree) {        SETNEXTSTATE(&LabelTree_targetObject, SubState_A);    } else {	Label_doClose(pCSParse, token, demark);        SETNEXTSTATE(&Awkward_targetObject, SubState_A);    }    return StateRet_OK;}PRIVATE StateRet_t LabelRatingRange_open(CSParse_t * pCSParse, char * token, char demark){    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);    pCSLabel->pCurrentRange = 0;    pCSLabel->pCurrentLabelRating->ranges = HTList_new();    return StateRet_OK;}PRIVATE StateRet_t LabelRatingRange_get(CSParse_t * pCSParse, StateToken_t * pStateToken, char * token, char demark){    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);    LabelRating_t * pLabelRating = pCSLabel->pCurrentLabelRating;    Range_t * me;    char * ptr, * backPtr;    if (!token)        return StateRet_WARN_NO_MATCH;    if (Punct_badDemark(pStateToken->validPunctuation, demark))        return StateRet_WARN_BAD_PUNCT;	if ((me = (Range_t *) HT_CALLOC(1, sizeof(Range_t))) == NULL)	    HT_OUTOFMEM("Range_t");/*    me = Range_new(); */    HTList_appendObject(pLabelRating->ranges, (void *)me);    backPtr = ptr = token;    while (*ptr) {        if (*ptr == ':') {            *ptr = 0;            ptr++;            break;        }        ptr++;    }    FVal_readVal(&me->min, backPtr);    if (*ptr)        FVal_readVal(&me->max, ptr);    return StateRet_OK;}PRIVATE StateRet_t LabelRatingRange_close(CSParse_t * pCSParse, char * token, char demark){    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);    pCSLabel->pCurrentRange = 0;    return StateRet_OK;}PRIVATE void LabelRatingRange_destroy(CSParse_t * pCSParse){}PRIVATE StateRet_t Awkward_open(CSParse_t * pCSParse, char * token, char demark){    return StateRet_OK;}PRIVATE StateRet_t Awkward_close(CSParse_t * pCSParse, char * token, char demark){    return StateRet_OK;}PRIVATE void Awkward_destroy(CSParse_t * pCSParse){}PRIVATE StateRet_t error_open(CSParse_t * pCSParse, char * token, char demark){    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);    pCSLabel->pCurrentLabelError = LabelError_new();    if (pCSLabel->pCurrentLabel)        pCSLabel->pCurrentLabel->pLabelError = pCSLabel->pCurrentLabelError;    else        pCSLabel->pCurrentServiceInfo->pLabelError = pCSLabel->pCurrentLabelError;    return StateRet_OK;}PRIVATE StateRet_t error_getExpl(CSParse_t * pCSParse, StateToken_t * pStateToken, char * token, char demark){    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);    ParseContext_t * pParseContext = pCSParse->pParseContext;    char * explaination = 0;    if (!token || !pParseContext->observedQuotes)        return StateRet_WARN_NO_MATCH;    if (Punct_badDemark(pStateToken->validPunctuation, demark))        return StateRet_WARN_BAD_PUNCT;    CHECK_CAR_SET(CharSet_EXT_ALPHANUM)    StrAllocCopy(explaination, token);    HTList_appendObject(pCSLabel->pCurrentLabelError->explanations, explaination);    return StateRet_OK;}PRIVATE StateRet_t error_close(CSParse_t * pCSParse, char * token, char demark){    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);    pCSLabel->pCurrentLabelError = 0;    if (pCSLabel->pCurrentLabel)        pCSLabel->pCurrentLabel->pLabelError = pCSLabel->pCurrentLabelError;    else        pCSLabel->pCurrentServiceInfo->pLabelError = pCSLabel->pCurrentLabelError;    return StateRet_OK;}PRIVATE void error_destroy(CSParse_t * pCSParse){    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);    if (pCSLabel->pCurrentLabel)        pCSLabel->pCurrentLabel->pLabelError = 0;    else        pCSLabel->pCurrentServiceInfo->pLabelError = 0;    LabelError_free(pCSLabel->pCurrentLabelError);}PRIVATE StateRet_t Extension_open(CSParse_t * pCSParse, char * token, char demark){    CSLabel_t * pCSLabel = GetCSLabel(pCSParse);	Extension_t * me = Extension_new();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -