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

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

?? ictable.c

?? IBE是一種非對稱密碼技術
?? C
字號:
/* Copyright 2003-2006, Voltage Security, all rights reserved.
 */

#include "vibe.h"
#include "environment.h"
#include "base.h"
#include "libctx.h"
#include "icTable.h"
#include "errorctx.h"

int icTableCreate (
   icTable **entry,
   VoltLibCtx *libCtx
   )
{
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  VOLT_SET_FNCT_LINE (fnctLine)
  *entry = (icTable *)Z3Malloc (sizeof (icTable));
  if ((*entry) != (icTable *)0)
  {
    Z2Memset (*entry, 0, sizeof (icTable));
    return (0);
  }

  VOLT_LOG_ERROR (
    (VtLibCtx)libCtx, VT_ERROR_MEMORY, VT_ERROR_TYPE_PRIMARY, fnctLine,
    "icTableCreate", (char *)0)

  return (VT_ERROR_MEMORY);
}

void icTableFree (
   icTable **table,
   VoltLibCtx *libCtx
   )
{
  icTable *currentTable, *nextTable;

  /* Anything to free?
   */
  if (table == (icTable **)0)
    return;

  currentTable = *table;
  while (currentTable != (icTable *)0)
  {
    nextTable = (icTable *)(currentTable->next);
    Z2Free (currentTable->key);
    Z2Free (currentTable->value);
    Z2Free (currentTable);
    currentTable = nextTable;
  }

  *table = (icTable *)0;
}

int icTablePut (
   icTable *table,
   char *key,
   char *value,
   VoltLibCtx *libCtx
   )
{
  int status;
  icTable *currentTable, *lastTable;
  icTable *newTable = (icTable *)0;
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  do
  {
    /* Cycle through the Table looking for the entry. If found just replace
     * the value.
     */
    currentTable = table;
    do
    {
      if (Z2Strcmp (currentTable->key, key) == 0)
      {
        Z2Free (currentTable->value);
        currentTable->value = (char *)0;

        VOLT_SET_FNCT_LINE (fnctLine)
        status = Z2Strdup (value, &(currentTable->value));

        break;
      }

      lastTable = currentTable;
      currentTable = (icTable *)(currentTable->next);
    } while (currentTable != (icTable *)0);

    /* If currentTable is not NULL, either we found a matching key and
     * replaced the value, or there was an error. Either way, we're
     * done. If currentTable is NULL, we went through the list without
     * a match, we need to build a new table and place it at the end of
     * the link list.
     */
    if (currentTable != (icTable *)0)
      break;

    VOLT_SET_FNCT_LINE (fnctLine)
    status = icTableCreate (&newTable, libCtx);
    if (status != 0)
      break;

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

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

    lastTable->next = (Pointer)newTable;

  } while (0);

  if (status == 0)
    return (0);

  /* If there was an error, free any memory we allocated.
   */
  icTableFree (&newTable, libCtx);

  VOLT_LOG_ERROR (
    (VtLibCtx)libCtx, status, 0, fnctLine, "icTablePut", (char *)0)

  return (status);
}

void icTableGet (
   icTable *table,
   char *key,
   char **value,
   VoltLibCtx *libCtx
   )
{
  icTable *currentTable = table;

  *value = (char *)0;

  /* Go through the Table checking to see if the keys match.
   */
  while (currentTable != (icTable *)0)
  {
    if (Z2Strcmp (currentTable->key, key) == 0)
    {
      *value = currentTable->value;
      return;
    }
    currentTable = (icTable *)(currentTable->next);
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人激情免费视频| 蜜臀99久久精品久久久久久软件| 成人一二三区视频| 国产日产亚洲精品系列| 成人av在线一区二区| 亚洲少妇最新在线视频| 91成人免费网站| 午夜精品久久久久久| 日韩一区二区三区在线观看| 激情欧美日韩一区二区| 国产精品麻豆网站| 91成人在线免费观看| 日本一区中文字幕| 国产欧美一区二区在线| 欧美性受极品xxxx喷水| 久久99九九99精品| 综合久久给合久久狠狠狠97色| 色综合网色综合| 奇米影视一区二区三区| 国产精品水嫩水嫩| 欧美亚一区二区| 国产一区不卡在线| 亚洲激情自拍偷拍| 久久日韩粉嫩一区二区三区| 91视频你懂的| 韩国av一区二区| 亚洲夂夂婷婷色拍ww47| 日韩欧美国产麻豆| 色哟哟一区二区三区| 麻豆视频一区二区| 综合电影一区二区三区 | 日韩国产一区二| 久久精品免费在线观看| 欧美怡红院视频| 国产91丝袜在线观看| 亚洲国产欧美另类丝袜| 日本一区二区三区四区在线视频 | 欧美日韩综合一区| 国产精品一区一区三区| 丝袜美腿高跟呻吟高潮一区| 欧美激情一区二区三区全黄| 欧美一区二区私人影院日本| 成人a免费在线看| 男人操女人的视频在线观看欧美| 国产精品国产三级国产aⅴ原创| 欧美日韩高清一区二区不卡| 99久久精品免费| 国内精品第一页| 视频在线观看一区二区三区| 欧美激情中文不卡| 欧美精品一区二区三区蜜臀| 欧美午夜精品理论片a级按摩| 国产999精品久久久久久绿帽| 日本欧美大码aⅴ在线播放| 一区二区三区精品视频在线| 亚洲欧美影音先锋| 久久久蜜桃精品| 精品国产一区久久| 91精品中文字幕一区二区三区| 在线看一区二区| 97国产一区二区| 99久久伊人久久99| 国产高清精品久久久久| 国产一区二区三区免费播放| 精品一区中文字幕| 热久久免费视频| 男人的天堂亚洲一区| 青青青爽久久午夜综合久久午夜| 亚洲高清在线精品| 日韩综合在线视频| 首页国产欧美久久| 美日韩黄色大片| 久久99国产精品免费网站| 久久99精品国产麻豆婷婷| 另类中文字幕网| 国产一区二区三区电影在线观看 | 久久精品夜夜夜夜久久| 久久久久久久久久看片| 国产三级精品视频| 欧美高清在线精品一区| 欧美激情在线一区二区三区| 国产精品视频一区二区三区不卡| 中文字幕av一区二区三区| 中文字幕亚洲精品在线观看| 1024成人网| 亚洲高清三级视频| 视频一区视频二区中文字幕| 免费的国产精品| 久久99久久99| av在线不卡观看免费观看| 99精品欧美一区二区蜜桃免费| 一道本成人在线| 欧美日韩第一区日日骚| 日韩欧美一级二级| 国产片一区二区| 亚洲另类春色校园小说| 亚洲国产成人精品视频| 久久99蜜桃精品| 成人app软件下载大全免费| 欧美在线免费观看亚洲| 91精品国产黑色紧身裤美女| 精品国产乱码久久久久久免费| 国产亚洲欧美日韩日本| 最好看的中文字幕久久| 午夜a成v人精品| 国产精品小仙女| 在线观看亚洲a| 精品伦理精品一区| 亚洲欧洲日产国码二区| 亚洲第一搞黄网站| 国产一区二区三区久久悠悠色av| 91网站最新网址| 欧美一区二区精品| 欧美高清在线视频| 日韩1区2区日韩1区2区| 成人不卡免费av| 欧美一区二区视频免费观看| 国产精品乱码人人做人人爱| 亚洲国产精品久久不卡毛片 | 久久精品噜噜噜成人88aⅴ| 成熟亚洲日本毛茸茸凸凹| 欧美天堂一区二区三区| 久久久亚洲综合| 天堂久久久久va久久久久| 丁香婷婷综合激情五月色| 8v天堂国产在线一区二区| 中文字幕av不卡| 久久爱www久久做| 在线免费观看日韩欧美| 国产午夜精品美女毛片视频| 午夜影院在线观看欧美| 成人福利视频网站| 久久免费电影网| 亚洲电影中文字幕在线观看| 91亚洲精品久久久蜜桃网站| 久久综合成人精品亚洲另类欧美 | 精品免费国产一区二区三区四区| 亚洲欧美福利一区二区| 国产一区二区三区免费观看| 欧美日韩不卡在线| 亚洲男人的天堂在线aⅴ视频| 国产精品一级在线| 精品奇米国产一区二区三区| 日韩高清在线一区| 欧美日韩视频第一区| 亚洲色图丝袜美腿| 北岛玲一区二区三区四区| 久久综合丝袜日本网| 蜜臀av性久久久久蜜臀aⅴ| 欧美日韩一区二区在线观看| 国产精品福利一区二区| 国产精品一区在线观看你懂的| 欧美白人最猛性xxxxx69交| 青青国产91久久久久久 | 精品一区二区三区影院在线午夜| 欧美人妇做爰xxxⅹ性高电影| 亚洲综合色成人| 色婷婷一区二区| 亚洲制服丝袜一区| 欧美性xxxxxxxx| 亚洲动漫第一页| 欧美三级在线播放| 亚洲自拍与偷拍| 欧美日韩一卡二卡三卡| 性感美女极品91精品| 欧美久久久久久蜜桃| 日韩在线卡一卡二| 在线播放欧美女士性生活| 亚洲www啪成人一区二区麻豆| 欧美亚洲国产bt| 天堂va蜜桃一区二区三区漫画版| 7777精品久久久大香线蕉| 日本视频免费一区| 精品国产91九色蝌蚪| 国产美女久久久久| 中文字幕亚洲精品在线观看| 99久久婷婷国产综合精品电影| 亚洲精品福利视频网站| 欧美日韩情趣电影| 美女视频第一区二区三区免费观看网站 | www.欧美日韩国产在线| 中文字幕精品一区二区精品绿巨人 | 91精品国产综合久久精品性色| 一区二区免费在线| 欧美精品 日韩| 国产一区二区三区日韩| 国产精品成人免费精品自在线观看| 色综合婷婷久久| 视频一区中文字幕国产| 国产亚洲欧美日韩日本| 97久久超碰精品国产| 天堂一区二区在线| 欧美激情中文字幕| 欧美日韩一卡二卡三卡| 国产一区二区电影| 亚洲影视在线播放| 26uuu亚洲综合色欧美| 色吧成人激情小说| 精品亚洲成a人| 亚洲欧美一区二区三区极速播放|