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

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

?? icxmlparser.c

?? IBE是一種非對稱密碼技術
?? C
?? 第 1 頁 / 共 2 頁
字號:
      icStringBufferFree (&(parser->attribute_name), libCtx);
      icStringBufferFree (&(parser->attribute_value), libCtx);

      VOLT_SET_FNCT_LINE (fnctLine)
      status = icStringBufferCreate (&(parser->attribute_name), libCtx);
      if (status != 0)
        break;

      VOLT_SET_FNCT_LINE (fnctLine)
      status = icStringBufferCreate (&(parser->attribute_value), libCtx);

      break;

    case 7:
      VOLT_SET_ERROR_TYPE (errorType, 0)
      if (parser->text == (icStringBuffer *)0)
      {
        VOLT_SET_FNCT_LINE (fnctLine)
        status = icStringBufferCreate (&(parser->text), libCtx);
        if (status != 0)
          break;
      }

      if (charClass == VOLT_IC_CHAR_OPEN_ANGLE_BRACKET) 
      {
        parser->state = 1;
        VOLT_SET_FNCT_LINE (fnctLine)
        status = parser->handle_text (parser, parser->text->str, libCtx);
        icStringBufferFree (&(parser->text), libCtx);
        parser->text = (icStringBuffer *) 0;
        break;
      }

      if (charClass == VOLT_IC_CHAR_AMPERSAND) 
      {
        parser->state = 11;
        VOLT_SET_FNCT_LINE (fnctLine)
        status = icStringBufferCreate (&(parser->entity_name), libCtx);
        break;
      }

      VOLT_SET_FNCT_LINE (fnctLine)
      status = icStringBufferAppend (parser->text, theChar, libCtx);

      break;

    case 8:
      parser->is_empty_tag = 1;
      if (charClass == VOLT_IC_CHAR_CLOSE_ANGLE_BRACKET)
        parser->state = 7;

      break;

    case 10:
    default:
      VOLT_SET_ERROR_TYPE (errorType, VT_ERROR_TYPE_PRIMARY)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VT_ERROR_INVALID_INPUT;
      break;

    case 11:
      VOLT_SET_ERROR_TYPE (errorType, 0)
      if (charClass != VOLT_IC_CHAR_SEMICOLON)
      {
        VOLT_SET_FNCT_LINE (fnctLine)
        status = icStringBufferAppend (parser->entity_name, theChar, libCtx);
        break;
      }

      entityChar = translate_entity (parser->entity_name->str, libCtx);
      if (entityChar != -1 )
      {
        VOLT_SET_FNCT_LINE (fnctLine)
        status = icStringBufferAppend (parser->text, entityChar, libCtx);
      }

      icStringBufferFree (&(parser->entity_name), libCtx);
      parser->entity_name = (icStringBuffer *)0;
      parser->state = 7;
  }

  if ( (status == 0) && (parser->state == 7) &&
       (parser->tag_name != (icStringBuffer *)0) ) 
  {
    VOLT_SET_ERROR_TYPE (errorType, 0)
    if (parser->tag_name->str[0] == '/')
    {
      VOLT_SET_FNCT_LINE (fnctLine)
      status = parser->handle_end_tag (
        parser, parser->tag_name->str + 1, libCtx);

      icTableFree (&(parser->attributes), libCtx);
    }
    else
    {
      VOLT_SET_FNCT_LINE (fnctLine)
      status = parser->handle_start_tag (
        parser, parser->tag_name->str, parser->attributes,
        parser->is_empty_tag, libCtx);
    }
    icStringBufferFree (&(parser->tag_name), libCtx);
    parser->tag_name = (icStringBuffer *)0;
    parser->attributes = (icTable *) 0;
  }

  VOLT_LOG_ERROR_COMPARE (
    status, (VtLibCtx)libCtx, status, errorType, fnctLine,
    "icXmlParserParseChar", (char *)0)

  return (status);
}

static int icXmlHandleStartTag (
   icXmlParser *parser,
   char *tag_name,
   icTable *attributes,
   int is_empty,
   VoltLibCtx *libCtx
   )
{
  int status;
  icXmlNode *node = (icXmlNode *)0;
  icXmlNode *parent;
  Pointer item;
  VOLT_DECLARE_ERROR_TYPE (errorType)
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  do
  {
    VOLT_SET_ERROR_TYPE (errorType, 0)
    VOLT_SET_FNCT_LINE (fnctLine)
    status = icXmlNodeCreate (&node, IC_XML_NODE_TAG, libCtx);
    if (status != 0)
      break;

    VOLT_SET_FNCT_LINE (fnctLine)
    status = Z2Strdup (tag_name, &(node->tag_name));
    if (status != 0)
      break;

    /* this is technically an error
     */
    icStackTop (parser->tag_stack, &item, libCtx);
    if (parser->main && (item == (Pointer)0))
    {
      VOLT_SET_ERROR_TYPE (errorType, VT_ERROR_TYPE_PRIMARY)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VT_ERROR_INVALID_INPUT;
      icXmlNodeFree (&node, libCtx);
      break;
    }

    node->attributes = attributes;
    if (parser->main == (icXmlNode *)0)
      parser->main = node;

    icStackTop (parser->tag_stack, (Pointer *)&parent, libCtx);
    if (parent)
    {
      VOLT_SET_FNCT_LINE (fnctLine)
      status = icXmlNodeAddChild (parent, node, libCtx);
      if (status != 0)
        break;
    }

    if (!is_empty)
      icStackPush (parser->tag_stack, (Pointer)node, libCtx);

  } while (0);

  VOLT_LOG_ERROR_COMPARE (
    status, (VtLibCtx)libCtx, status, errorType, fnctLine,
    "icXmlHandleStartTag", (char *)0)

  return (status);
}

static int icXmlHandleEndTag (
   icXmlParser *parser,
   char *tag_name,
   VoltLibCtx *libCtx
   )
{
  int status;
  icXmlNode *node;
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  do
  {
    icStackTop (parser->tag_stack, (Pointer *)&node, libCtx);

    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_NULL_ARG;
    if (node == (icXmlNode *)0)
      break;

    /* nesting order is bad; technically an error
     */
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_INVALID_INPUT;
    if (Z2Strcmp (node->tag_name, tag_name))
      break;

    icStackPop (parser->tag_stack, (Pointer *)0, libCtx);

    status = 0;

  } while (0);

  VOLT_LOG_ERROR_COMPARE (
    status, (VtLibCtx)libCtx, status, VT_ERROR_TYPE_PRIMARY, fnctLine,
    "icXmlHandleEndTag", (char *)0)

  return (status);
}

static int icXmlHandleText (
   icXmlParser *parser,
   char *text,
   VoltLibCtx *libCtx
   )
{
  int status;
  icXmlNode *node = (icXmlNode *)0;
  icXmlNode *parent;
  VOLT_DECLARE_ERROR_TYPE (errorType)
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  do
  {
    icStackTop (parser->tag_stack, (Pointer *)&parent, libCtx);

    VOLT_SET_ERROR_TYPE (errorType, VT_ERROR_TYPE_PRIMARY)
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_NULL_ARG;
    if (parent == (icXmlNode *)0)
      break;

    VOLT_SET_ERROR_TYPE (errorType, 0)
    VOLT_SET_FNCT_LINE (fnctLine)
    status = icXmlNodeCreate (&node, IC_XML_NODE_TEXT, libCtx);
    if (status != 0)
      break;

    VOLT_SET_FNCT_LINE (fnctLine)
    status = Z2Strdup (text, &(node->text));
    if (status != 0)
      break;

    VOLT_SET_FNCT_LINE (fnctLine)
    status = icXmlNodeAddChild (parent, node, libCtx);

  } while (0);

  VOLT_LOG_ERROR_COMPARE (
    status, (VtLibCtx)libCtx, status, errorType, fnctLine,
    "icXmlHandleText", (char *)0)

  return (status);
}

static int translate_entity (
   char *entity_name,
   VoltLibCtx *libCtx
   )
{
  int retVal;
  int status;
  long value;
  
  retVal = 0x22;
  if (Z2Strcmp (entity_name, "quot") == 0)
    return (retVal);

  retVal = 0x3c;
  if (Z2Strcmp (entity_name, "lt") == 0)
    return (retVal);

  retVal = 0x3e;
  if (Z2Strcmp (entity_name, "gt") == 0)
    return (retVal);

  retVal = 0x26;
  if (Z2Strcmp (entity_name, "amp") == 0)
    return (retVal);

  retVal = 0x27;
  if (Z2Strcmp (entity_name, "apos") == 0)
    return (retVal);

  /* Handle numeric character references */
  if (entity_name[0] == '#')
  {
    if (entity_name[1] == 'x')
      status = VoltHexStringToNum(entity_name + 2, &value, libCtx);
    else
      status = VoltDecimalStringToNum(entity_name + 1, &value, libCtx);
    if (status == 0)
      return value;
  }
  
  return (-1);
}

static int icClassifyChar (
   int theChar
   )
{
  char val = (char)theChar;

  switch (val)
  {
    case '<':
      return (VOLT_IC_CHAR_OPEN_ANGLE_BRACKET);

    case '>':
      return (VOLT_IC_CHAR_CLOSE_ANGLE_BRACKET);

    case '/':
      return (VOLT_IC_CHAR_SLASH);

    case '=':
      return (VOLT_IC_CHAR_EQUAL);

    case '"':
      return (VOLT_IC_CHAR_QUOTE);

    case '&':
      return (VOLT_IC_CHAR_AMPERSAND);

    case ';':
      return (VOLT_IC_CHAR_SEMICOLON);

    case ' ':
    case '\f':
    case '\n':
    case '\r':
    case '\t':
    case '\v':
      return (0);

    default:
      return (VOLT_IC_CHAR_OTHER);
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产综合一区二区| 久久久亚洲欧洲日产国码αv| 欧美va日韩va| 亚洲人精品午夜| 国内外成人在线| 欧美日韩国产影片| 亚洲少妇屁股交4| 国产精品系列在线播放| 91精品国产综合久久精品| 亚洲欧洲av在线| 国产精品18久久久久久久久久久久| 欧美三级在线播放| 亚洲欧美精品午睡沙发| 国产成人精品亚洲日本在线桃色| 欧美精品一二三区| 一个色在线综合| 一本色道久久综合狠狠躁的推荐| 亚洲国产精品二十页| 国产另类ts人妖一区二区| 日韩欧美在线综合网| 亚洲超碰精品一区二区| 91高清视频在线| 亚洲久草在线视频| 日本黄色一区二区| 樱花影视一区二区| 91国内精品野花午夜精品| 亚洲私人黄色宅男| 色狠狠色狠狠综合| 亚洲乱码国产乱码精品精的特点| 成人av电影在线| 亚洲三级免费观看| 色美美综合视频| 亚洲一区中文日韩| 欧美日韩国产中文| 美女视频一区二区| 久久综合中文字幕| 国产999精品久久久久久绿帽| 日本一区二区三区国色天香 | 麻豆精品国产传媒mv男同| 欧美一区二区在线免费播放 | 2022国产精品视频| 日本vs亚洲vs韩国一区三区二区| 欧美色图天堂网| 午夜欧美大尺度福利影院在线看| 欧美美女激情18p| 免费在线观看精品| 久久久蜜臀国产一区二区| 丰满亚洲少妇av| 亚洲人快播电影网| 欧美肥胖老妇做爰| 国产主播一区二区| 国产精品久久久久影院亚瑟| 在线观看www91| 蜜臀av亚洲一区中文字幕| 久久青草欧美一区二区三区| 成人福利视频在线看| 亚洲资源中文字幕| 日韩欧美不卡在线观看视频| 国产精品一区二区在线观看网站| 国产成人综合亚洲网站| 精品国产制服丝袜高跟| 国产原创一区二区三区| 国产精品久久久久一区二区三区共| 色94色欧美sute亚洲13| 日韩国产欧美三级| 国产精品久久夜| 欧美久久一二区| 国产成人精品一区二区三区网站观看| 亚洲欧美区自拍先锋| 欧美一级xxx| 99re成人精品视频| 老司机免费视频一区二区三区| 国产欧美精品区一区二区三区| 色成年激情久久综合| 激情综合色播五月| 亚洲影视资源网| 国产午夜精品一区二区三区四区| 欧美日韩一区精品| 成人av电影观看| 精品一区二区三区在线播放 | 亚洲国产三级在线| 欧美三级在线视频| 成人开心网精品视频| 天天做天天摸天天爽国产一区| 亚洲国产岛国毛片在线| 日韩视频一区二区三区在线播放| 91在线观看免费视频| 国产尤物一区二区| 青青青伊人色综合久久| 亚洲尤物在线视频观看| 国产精品天天看| 精品电影一区二区| 制服丝袜成人动漫| 欧美三区免费完整视频在线观看| 99在线精品观看| 成人美女在线视频| 国产麻豆精品在线| 另类小说色综合网站| 亚洲福中文字幕伊人影院| 亚洲欧美日韩国产另类专区| 久久久蜜桃精品| 久久天天做天天爱综合色| 日韩亚洲电影在线| 91精品国产品国语在线不卡| 欧美日韩另类一区| 欧美日韩亚洲国产综合| 欧美视频一区二区三区| 在线一区二区三区做爰视频网站| av不卡免费电影| 91在线一区二区三区| 99精品欧美一区| 色婷婷综合中文久久一本| av一区二区三区在线| 色先锋aa成人| 欧美三级在线播放| 91精品国产欧美一区二区18| 91精品国产免费久久综合| 欧美精品在线视频| 日韩午夜av电影| 久久综合给合久久狠狠狠97色69| 亚洲精品在线观看网站| 久久免费美女视频| 中文幕一区二区三区久久蜜桃| 欧美国产1区2区| 亚洲色图第一区| 亚洲bt欧美bt精品777| 午夜精品久久久久久久蜜桃app| 日韩av网站免费在线| 精品一区二区国语对白| 国产91丝袜在线18| 色婷婷久久久久swag精品| 欧美日本在线一区| 亚洲精品在线一区二区| 国产欧美一区二区精品秋霞影院| 中文字幕一区二区在线播放| 亚洲精品日韩综合观看成人91| 亚洲国产日韩综合久久精品| 麻豆国产欧美日韩综合精品二区| 精品一区二区三区久久| 99re热视频这里只精品| 91精品国产91久久久久久最新毛片| 久久综合色8888| 一区二区视频免费在线观看| 麻豆国产欧美一区二区三区| 成人免费高清视频| 欧美日本在线一区| 中文字幕第一区综合| 五月天久久比比资源色| 国产一区高清在线| 一本久久综合亚洲鲁鲁五月天 | 精品综合免费视频观看| 成人一级视频在线观看| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 热久久久久久久| 成人黄色av电影| 制服丝袜亚洲播放| 亚洲美女视频在线观看| 捆绑紧缚一区二区三区视频| 91在线看国产| wwwwxxxxx欧美| 亚洲综合一二区| 成人免费av资源| 精品成人一区二区三区| 亚洲激情六月丁香| 国产麻豆成人精品| 欧美猛男超大videosgay| 国产精品久久久久毛片软件| 奇米一区二区三区av| 91理论电影在线观看| 久久久久久久久久久久久久久99| 亚洲一区二区高清| 色综合欧美在线| 国产精品久久久久久一区二区三区 | 亚洲五月六月丁香激情| 成人小视频在线观看| 欧美电视剧免费全集观看| 亚洲美女免费视频| 风流少妇一区二区| 精品国产乱码久久久久久蜜臀| 亚洲午夜精品一区二区三区他趣| 粉嫩av一区二区三区粉嫩| 精品免费视频一区二区| 日本伊人色综合网| 欧美日韩在线播放一区| 伊人婷婷欧美激情| 99国产精品久久久久久久久久| 国产欧美视频一区二区三区| 精品写真视频在线观看| 日韩欧美你懂的| 日韩高清电影一区| 777xxx欧美| 午夜一区二区三区视频| 欧美视频日韩视频| 亚洲第一av色| 69堂成人精品免费视频| 日韩电影在线观看一区| 日韩一区二区精品葵司在线 | 亚洲国产成人av好男人在线观看| 99re8在线精品视频免费播放| 中文字幕亚洲一区二区va在线|