亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? xmlrpc.c

?? mms client
?? C
?? 第 1 頁 / 共 3 頁
字號:
                (*msg)->parse_error = octstr_format("XML-RPC compiler: could not parse boolean value '%s'",                                                     octstr_get_cstr(value));                return -1;            }            //xmlrpc_call_add_bool((*msg), (int) lval);            xmlrpc_call_add_scalar((*msg), xr_bool, (void *) lval);            debug("", 0, "XML-RPC: added boolean %d", (int) lval);            break;        case xr_string:            //xmlrpc_call_add_string((*msg), value);            xmlrpc_call_add_scalar((*msg), xr_string, (void *) value);            debug("", 0, "XML-RPC: added string %s", octstr_get_cstr(value));            break;        case xr_date:            //xmlrpc_call_add_date((*msg), value);            xmlrpc_call_add_scalar((*msg), xr_date, (void *) value);            debug("", 0, "XML-RPC: added date %s", octstr_get_cstr(value));            break;        case xr_base64:            //xmlrpc_call_add_base64((*msg), value);            xmlrpc_call_add_scalar((*msg), xr_base64, (void *) value);            debug("", 0, "XML-RPC: added base64 %s", octstr_get_cstr(value));            break;        case xr_struct:            if (parse_struct(doc, node->xmlChildrenNode, msg) == -1) {                debug("", 0, "%s", octstr_get_cstr((*msg)->parse_error));                //(*msg)->parse_status = XMLRPC_PARSING_FAILED;                //(*msg)->parse_error = octstr_format("XML-RPC compiler: could not parse struct");                 return -1;            }            //debug("", 0, "XML-RPC: added struct %s", octstr_get_cstr(value));            break;        case xr_double:        default:            (*msg)->parse_status = XMLRPC_PARSING_FAILED;            (*msg)->parse_error = octstr_format("XML-RPC compiler: bogus parsing exception in parse_value!");            return -1;            break;    }    octstr_destroy(value);    return 0;}static int parse_value(xmlDocPtr doc, xmlNodePtr node,                        XMLRPCMethodCall **msg){    int status = 0;      /* call for the parser function of the node type. */    switch (node->type) {        case XML_ELEMENT_NODE:            status = parse_value_element(doc, node, msg);            break;        case XML_TEXT_NODE:        case XML_COMMENT_NODE:        case XML_PI_NODE:            /* Text nodes, comments and PIs are ignored. */            break;	   /*	    * XML has also many other node types, these are not needed with 	    * XML-RPC. Therefore they are assumed to be an error.	    */        default:            (*msg)->parse_status = XMLRPC_PARSING_FAILED;            (*msg)->parse_error = octstr_format("XML-RPC compiler: Unknown XML node in the XML-RPC source.");            return -1;            break;    }    if (node->next != NULL)	   if (parse_value(doc, node->next, msg) == -1)            return -1;    return status;}static int parse_param_element(xmlDocPtr doc, xmlNodePtr node,                                XMLRPCMethodCall **msg){    Octstr *name;    size_t i;    /*     * check if the element is allowed at this level      */    name = octstr_create(node->name);    if (octstr_len(name) == 0) {        octstr_destroy(name);        return -1;    }    i = 0;    while (i < NUMBER_OF_PARAM_ELEMENTS) {        if (octstr_case_compare(name, octstr_imm(param_elements[i].name)) == 0)            break;        ++i;    }    if (i == NUMBER_OF_PARAM_ELEMENTS) {        (*msg)->parse_status = XMLRPC_PARSING_FAILED;        (*msg)->parse_error = octstr_format("XML-RPC compiler: unknown tag '%s' "                                            "in XML source at level <param>",                                             octstr_get_cstr(name));        octstr_destroy(name);        return -1;    }     octstr_destroy(name);    /*      * now check which type it is and process      *     * valid tags at this level are:     *   value [0]     */    if (i == 0) {        /* this has been a <param> tag */        if (parse_value(doc, node->xmlChildrenNode, msg) == -1)            return -1;    } else {        /* we should never be here */        (*msg)->parse_status = XMLRPC_PARSING_FAILED;        (*msg)->parse_error = octstr_format("XML-RPC compiler: bogus parsing exception in parse_param!");        return -1;    }    return 0;}static int parse_param(xmlDocPtr doc, xmlNodePtr node,                        XMLRPCMethodCall **msg, int *n){    int status = 0;      /* call for the parser function of the node type. */    switch (node->type) {        case XML_ELEMENT_NODE:            /* a <param> can only have one value element type */            if ((*n) > 0) {                (*msg)->parse_status = XMLRPC_PARSING_FAILED;                (*msg)->parse_error = octstr_format("XML-RPC compiler: param may only have one value!");                return -1;            }            status = parse_param_element(doc, node, msg);            (*n)++;            break;        case XML_TEXT_NODE:        case XML_COMMENT_NODE:        case XML_PI_NODE:            /* Text nodes, comments and PIs are ignored. */            break;	   /*	    * XML has also many other node types, these are not needed with 	    * XML-RPC. Therefore they are assumed to be an error.	    */        default:            (*msg)->parse_status = XMLRPC_PARSING_FAILED;            (*msg)->parse_error = octstr_format("XML-RPC compiler: Unknown XML node in the XML-RPC source.");            return -1;            break;    }       if (node->next != NULL)	   if (parse_param(doc, node->next, msg, n) == -1)            return -1;    return status;}static int parse_params_element(xmlDocPtr doc, xmlNodePtr node,                                 XMLRPCMethodCall **msg){    Octstr *name;    size_t i;    int n = 0;    /*     * check if the element is allowed at this level     * within <params> we only have one or more <param>     */    name = octstr_create(node->name);    if (octstr_len(name) == 0) {        octstr_destroy(name);        return -1;    }    i = 0;    while (i < NUMBER_OF_PARAMS_ELEMENTS) {        if (octstr_case_compare(name, octstr_imm(params_elements[i].name)) == 0)            break;        ++i;    }    if (i == NUMBER_OF_PARAMS_ELEMENTS) {        (*msg)->parse_status = XMLRPC_PARSING_FAILED;        (*msg)->parse_error = octstr_format("XML-RPC compiler: unknown tag '%s' "                                            "in XML source at level <params>",                                             octstr_get_cstr(name));        octstr_destroy(name);        return -1;    }     octstr_destroy(name);    /*      * now check which type it is and process      *     * valid tags at this level are:     *   param [0]     */    if (i == 0) {        /* this has been a <param> tag */        if (parse_param(doc, node->xmlChildrenNode, msg, &n) == -1)            return -1;    } else {        /* we should never be here */        (*msg)->parse_status = XMLRPC_PARSING_FAILED;        (*msg)->parse_error = octstr_format("XML-RPC compiler: bogus parsing exception in parse_params!");        return -1;    }    return 0;}static int parse_params(xmlDocPtr doc, xmlNodePtr node,                         XMLRPCMethodCall **msg){    int status = 0;      /* call for the parser function of the node type. */    switch (node->type) {        case XML_ELEMENT_NODE:            status = parse_params_element(doc, node, msg);            break;        case XML_TEXT_NODE:        case XML_COMMENT_NODE:        case XML_PI_NODE:            /* Text nodes, comments and PIs are ignored. */            break;	   /*	    * XML has also many other node types, these are not needed with 	    * XML-RPC. Therefore they are assumed to be an error.	    */        default:            (*msg)->parse_status = XMLRPC_PARSING_FAILED;            (*msg)->parse_error = octstr_format("XML-RPC compiler: unknown XML node in XML-RPC source.");            return -1;            break;    }    if (node->next != NULL)	   if (parse_params(doc, node->next, msg) == -1)            return -1;    return status;}static int parse_methodcall_element(xmlDocPtr doc, xmlNodePtr node,                                     XMLRPCMethodCall **msg){    Octstr *name;    Octstr *value;    size_t i;    /*     * check if the element is allowed at this level      */    name = octstr_create(node->name);    if (octstr_len(name) == 0) {        octstr_destroy(name);        return -1;    }    i = 0;    while (i < NUMBER_OF_METHODCALL_ELEMENTS) {        if (octstr_case_compare(name, octstr_imm(methodcall_elements[i].name)) == 0)            break;        ++i;    }    if (i == NUMBER_OF_METHODCALL_ELEMENTS) {        (*msg)->parse_status = XMLRPC_PARSING_FAILED;        (*msg)->parse_error = octstr_format("XML-RPC compiler: unknown tag '%s' in XML source "                                            "at level <methodCall>", octstr_get_cstr(name));        octstr_destroy(name);        return -1;    }     octstr_destroy(name);    /*      * now check which type it is and process      *     * valid tags at this level are:     *   methodCall [0]     *   params     [1]     */    if (i == 0) {        /* this has been the <methodName> tag */        value = octstr_create(xmlNodeListGetString(doc, node->xmlChildrenNode, 1));                        /* destroy current msg->method_name and redefine */        octstr_destroy((*msg)->method_name);        (*msg)->method_name = octstr_duplicate(value);        octstr_destroy(value);    } else {        /*          * ok, this has to be an <params> tag, otherwise we would          * have returned previosly         */        if (parse_params(doc, node->xmlChildrenNode, msg) == -1)            return -1;    }    return 0;}static int parse_methodcall(xmlDocPtr doc, xmlNodePtr node,                             XMLRPCMethodCall **msg){    int status = 0;      /* call for the parser function of the node type. */    switch (node->type) {        case XML_ELEMENT_NODE:            status = parse_methodcall_element(doc, node, msg);            break;        case XML_TEXT_NODE:        case XML_COMMENT_NODE:        case XML_PI_NODE:            /* Text nodes, comments and PIs are ignored. */            break;	   /*	    * XML has also many other node types, these are not needed with 	    * XML-RPC. Therefore they are assumed to be an error.	    */        default:            (*msg)->parse_status = XMLRPC_PARSING_FAILED;            (*msg)->parse_error = octstr_format("XML-RPC compiler: unknown XML node "                                                "in the XML-RPC source.");            return -1;            break;    }    if (node->next != NULL)	   if (parse_methodcall(doc, node->next, msg) == -1)            return -1;    return status;}static int parse_document(xmlDocPtr document, XMLRPCMethodCall **msg){    xmlNodePtr node;    Octstr *name;    node = xmlDocGetRootElement(document);    /*     * check if this is at least a valid root element     */    name = octstr_create(node->name);    if (octstr_len(name) == 0) {        octstr_destroy(name);        return -1;    }    if (octstr_case_compare(name, octstr_imm("METHODCALL")) != 0) {        (*msg)->parse_status = XMLRPC_PARSING_FAILED;        (*msg)->parse_error = octstr_format("XML-RPC compiler: wrong root element <%s>, "                                            "<methodCall> expected!",                                             octstr_get_cstr(name));        octstr_destroy(name);        return -1;    }    octstr_destroy(name);    return parse_methodcall(document, node->xmlChildrenNode, msg);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜日本在线观看| 久久综合色之久久综合| 亚洲精品国产第一综合99久久| 北条麻妃一区二区三区| 国产精品第五页| 91久久精品日日躁夜夜躁欧美| 亚洲欧美日韩人成在线播放| 欧美色中文字幕| 免费观看一级特黄欧美大片| 精品99久久久久久| 福利一区在线观看| 一区二区三区小说| 欧美一级xxx| 国产成人av电影在线| 亚洲视频1区2区| 欧美精品xxxxbbbb| 国产揄拍国内精品对白| 国产精品美女一区二区三区| 91麻豆6部合集magnet| 亚洲成人激情社区| 久久蜜桃香蕉精品一区二区三区| 成人小视频免费观看| 亚洲精品第一国产综合野| 在线日韩国产精品| 麻豆国产精品一区二区三区| 国产精品色呦呦| 911国产精品| 成人手机电影网| 亚洲超碰97人人做人人爱| 26uuu亚洲| 在线影院国内精品| 国产精品一区二区免费不卡 | 日韩一区二区视频在线观看| 九九精品视频在线看| 亚洲青青青在线视频| 日韩一区二区三区三四区视频在线观看 | 极品美女销魂一区二区三区| 1024国产精品| 欧美r级在线观看| 色婷婷一区二区| 精彩视频一区二区三区| 亚洲愉拍自拍另类高清精品| 欧美精品一区二| 欧美性生活久久| 福利电影一区二区三区| 日韩精品成人一区二区三区| 国产精品网站在线| 欧美va日韩va| 5858s免费视频成人| 成+人+亚洲+综合天堂| 日本aⅴ亚洲精品中文乱码| 中文字幕人成不卡一区| 精品噜噜噜噜久久久久久久久试看| 91网站最新地址| 国产69精品久久777的优势| 亚洲1区2区3区4区| 综合av第一页| 国产精品天天摸av网| 欧美成人乱码一区二区三区| 91麻豆文化传媒在线观看| 国产精品99久久久| 蜜臀久久久久久久| 亚洲国产欧美日韩另类综合| 中文字幕一区二区三区四区不卡| 久久久不卡网国产精品二区| 日韩手机在线导航| 欧美电影在线免费观看| 欧美在线观看视频一区二区| 99久久er热在这里只有精品15 | 国产成人99久久亚洲综合精品| 日本视频中文字幕一区二区三区 | 免费在线视频一区| 午夜精品久久久久影视| 亚洲一线二线三线视频| 亚洲丝袜另类动漫二区| 国产精品麻豆视频| 中国av一区二区三区| 中文字幕免费在线观看视频一区| 久久久欧美精品sm网站| 2023国产精华国产精品| 精品久久久久久综合日本欧美 | 国产精品77777竹菊影视小说| 美日韩一区二区| 久久机这里只有精品| 日韩和欧美一区二区三区| 日韩高清不卡一区二区三区| 亚洲国产毛片aaaaa无费看| 亚洲国产精品久久久久婷婷884| 亚洲香肠在线观看| 亚洲自拍偷拍麻豆| 亚洲国产精品久久人人爱蜜臀| 五月天中文字幕一区二区| 亚洲线精品一区二区三区| 亚洲成av人**亚洲成av**| 五月天亚洲婷婷| 久久国产精品99精品国产| 黄页视频在线91| 国产高清一区日本| 成人久久久精品乱码一区二区三区| 国产剧情一区二区三区| 99久久伊人精品| 欧美在线一二三| 久久久久久久久久电影| 久久久蜜桃精品| 国产精品三级在线观看| 国产欧美一区二区三区沐欲| 国产精品超碰97尤物18| 一二三区精品视频| 麻豆精品新av中文字幕| 粉嫩绯色av一区二区在线观看| 久久综合色天天久久综合图片| 天天免费综合色| 午夜精品视频一区| 久久国产剧场电影| 色婷婷综合久久久中文字幕| 91麻豆精品国产91久久久久久| 欧美日本一区二区在线观看| 久久色中文字幕| 日本一区二区三区电影| 亚洲va国产天堂va久久en| fc2成人免费人成在线观看播放 | 欧美一三区三区四区免费在线看 | 国产一区 二区 三区一级| 在线免费观看日本一区| 亚洲男女一区二区三区| 成人激情av网| 亚洲综合视频网| 欧美日韩在线不卡| 另类小说综合欧美亚洲| 国产区在线观看成人精品| 午夜精品福利一区二区三区av | 久久奇米777| 精品国产乱码久久| 福利91精品一区二区三区| 国产成人av电影| 一本到不卡免费一区二区| 久久久精品综合| 欧美日韩五月天| 亚洲一二三级电影| 色妹子一区二区| 日韩一区精品字幕| 亚洲精品一区二区在线观看| 福利电影一区二区| 亚洲一区二区三区在线播放| 91在线精品一区二区三区| 偷窥国产亚洲免费视频| 亚洲动漫第一页| 高清不卡在线观看| 日韩一区二区三区精品视频| 伊人开心综合网| 国产91精品一区二区麻豆亚洲| 日韩欧美一二三| 石原莉奈在线亚洲三区| 91高清在线观看| 亚洲欧美影音先锋| 国产福利不卡视频| 亚洲精品一区二区三区福利 | 国产一区三区三区| 91精品国产手机| 亚洲成人久久影院| 欧美视频在线不卡| 亚洲高清免费视频| 欧美天堂一区二区三区| 一区二区三区四区亚洲| 色综合久久久久久久久| 亚洲色图制服诱惑 | 日本一区二区三区四区| 国产美女久久久久| 精品黑人一区二区三区久久| 热久久国产精品| 欧美不卡在线视频| 老司机免费视频一区二区| 精品成人一区二区| 国产成人一区二区精品非洲| 国产亚洲精品aa| av在线综合网| 亚洲美女屁股眼交3| 91成人免费在线视频| 天天影视涩香欲综合网| 91精品国产品国语在线不卡| 日本vs亚洲vs韩国一区三区二区 | 国产性色一区二区| 99在线精品视频| 国产精品网站在线播放| jlzzjlzz欧美大全| 亚洲精品中文在线| 欧美剧情电影在线观看完整版免费励志电影| 亚洲在线观看免费| 日韩午夜精品视频| 国产成人精品aa毛片| 国产精品女主播av| 色综合一个色综合| 亚洲.国产.中文慕字在线| 日韩欧美一区二区三区在线| 久久 天天综合| 国产精品久久久久久亚洲毛片| 91久久精品一区二区三区| 日韩电影在线一区二区三区| 国产视频亚洲色图| 91黄色激情网站|