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

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

?? test1.c

?? sqlite庫
?? C
?? 第 1 頁 / 共 5 頁
字號:
    rc = sqlite3_bind_text(pStmt, idx, argv[3], -1, SQLITE_TRANSIENT);  }else if( strcmp(argv[4],"blob10")==0 ){    rc = sqlite3_bind_text(pStmt, idx, "abc\000xyz\000pq", 10, SQLITE_STATIC);  }else{    Tcl_AppendResult(interp, "4th argument should be "        "\"null\" or \"static\" or \"normal\"", 0);    return TCL_ERROR;  }  if( sqlite3TestErrCode(interp, StmtToDb(pStmt), rc) ) return TCL_ERROR;  if( rc ){    char zBuf[50];    sprintf(zBuf, "(%d) ", rc);    Tcl_AppendResult(interp, zBuf, sqlite3ErrStr(rc), 0);    return TCL_ERROR;  }  return TCL_OK;}#ifndef SQLITE_OMIT_UTF16/*** Usage: add_test_collate <db ptr> <utf8> <utf16le> <utf16be>**** This function is used to test that SQLite selects the correct collation** sequence callback when multiple versions (for different text encodings)** are available.**** Calling this routine registers the collation sequence "test_collate"** with database handle <db>. The second argument must be a list of three** boolean values. If the first is true, then a version of test_collate is** registered for UTF-8, if the second is true, a version is registered for** UTF-16le, if the third is true, a UTF-16be version is available.** Previous versions of test_collate are deleted.**** The collation sequence test_collate is implemented by calling the** following TCL script:****   "test_collate <enc> <lhs> <rhs>"**** The <lhs> and <rhs> are the two values being compared, encoded in UTF-8.** The <enc> parameter is the encoding of the collation function that** SQLite selected to call. The TCL test script implements the** "test_collate" proc.**** Note that this will only work with one intepreter at a time, as the** interp pointer to use when evaluating the TCL script is stored in** pTestCollateInterp.*/static Tcl_Interp* pTestCollateInterp;static int test_collate_func(  void *pCtx,   int nA, const void *zA,  int nB, const void *zB){  Tcl_Interp *i = pTestCollateInterp;  int encin = (int)pCtx;  int res;  int n;  sqlite3_value *pVal;  Tcl_Obj *pX;  pX = Tcl_NewStringObj("test_collate", -1);  Tcl_IncrRefCount(pX);  switch( encin ){    case SQLITE_UTF8:      Tcl_ListObjAppendElement(i,pX,Tcl_NewStringObj("UTF-8",-1));      break;    case SQLITE_UTF16LE:      Tcl_ListObjAppendElement(i,pX,Tcl_NewStringObj("UTF-16LE",-1));      break;    case SQLITE_UTF16BE:      Tcl_ListObjAppendElement(i,pX,Tcl_NewStringObj("UTF-16BE",-1));      break;    default:      assert(0);  }  pVal = sqlite3ValueNew();  sqlite3ValueSetStr(pVal, nA, zA, encin, SQLITE_STATIC);  n = sqlite3_value_bytes(pVal);  Tcl_ListObjAppendElement(i,pX,      Tcl_NewStringObj((char*)sqlite3_value_text(pVal),n));  sqlite3ValueSetStr(pVal, nB, zB, encin, SQLITE_STATIC);  n = sqlite3_value_bytes(pVal);  Tcl_ListObjAppendElement(i,pX,      Tcl_NewStringObj((char*)sqlite3_value_text(pVal),n));  sqlite3ValueFree(pVal);  Tcl_EvalObjEx(i, pX, 0);  Tcl_DecrRefCount(pX);  Tcl_GetIntFromObj(i, Tcl_GetObjResult(i), &res);  return res;}static int test_collate(  void * clientData,  Tcl_Interp *interp,  int objc,  Tcl_Obj *CONST objv[]){  sqlite3 *db;  int val;  sqlite3_value *pVal;  int rc;  if( objc!=5 ) goto bad_args;  pTestCollateInterp = interp;  if( getDbPointer(interp, Tcl_GetString(objv[1]), &db) ) return TCL_ERROR;  if( TCL_OK!=Tcl_GetBooleanFromObj(interp, objv[2], &val) ) return TCL_ERROR;  rc = sqlite3_create_collation(db, "test_collate", SQLITE_UTF8,           (void *)SQLITE_UTF8, val?test_collate_func:0);  if( rc==SQLITE_OK ){    if( TCL_OK!=Tcl_GetBooleanFromObj(interp, objv[3], &val) ) return TCL_ERROR;    rc = sqlite3_create_collation(db, "test_collate", SQLITE_UTF16LE,             (void *)SQLITE_UTF16LE, val?test_collate_func:0);    if( TCL_OK!=Tcl_GetBooleanFromObj(interp, objv[4], &val) ) return TCL_ERROR;#ifdef SQLITE_MEMDEBUG    if( sqlite3_iMallocFail>0 ){      sqlite3_iMallocFail++;    }#endif    pVal = sqlite3ValueNew();    sqlite3ValueSetStr(pVal, -1, "test_collate", SQLITE_UTF8, SQLITE_STATIC);    rc = sqlite3_create_collation16(db,           sqlite3ValueText(pVal, SQLITE_UTF16NATIVE), SQLITE_UTF16BE,           (void *)SQLITE_UTF16BE, val?test_collate_func:0);    sqlite3ValueFree(pVal);  }  if( sqlite3TestErrCode(interp, db, rc) ) return TCL_ERROR;    if( rc!=SQLITE_OK ){    Tcl_AppendResult(interp, sqlite3TestErrorName(rc), 0);    return TCL_ERROR;  }  return TCL_OK;bad_args:  Tcl_AppendResult(interp, "wrong # args: should be \"",      Tcl_GetStringFromObj(objv[0], 0), " <DB> <utf8> <utf16le> <utf16be>", 0);  return TCL_ERROR;}/*** When the collation needed callback is invoked, record the name of ** the requested collating function here.  The recorded name is linked** to a TCL variable and used to make sure that the requested collation** name is correct.*/static char zNeededCollation[200];static char *pzNeededCollation = zNeededCollation;/*** Called when a collating sequence is needed.  Registered using** sqlite3_collation_needed16().*/static void test_collate_needed_cb(  void *pCtx,   sqlite3 *db,  int eTextRep,  const void *pName){  int enc = ENC(db);  int i;  char *z;  for(z = (char*)pName, i=0; *z || z[1]; z++){    if( *z ) zNeededCollation[i++] = *z;  }  zNeededCollation[i] = 0;  sqlite3_create_collation(      db, "test_collate", ENC(db), (void *)enc, test_collate_func);}/*** Usage: add_test_collate_needed DB*/static int test_collate_needed(  void * clientData,  Tcl_Interp *interp,  int objc,  Tcl_Obj *CONST objv[]){  sqlite3 *db;  int rc;  if( objc!=2 ) goto bad_args;  if( getDbPointer(interp, Tcl_GetString(objv[1]), &db) ) return TCL_ERROR;  rc = sqlite3_collation_needed16(db, 0, test_collate_needed_cb);  zNeededCollation[0] = 0;  if( sqlite3TestErrCode(interp, db, rc) ) return TCL_ERROR;  return TCL_OK;bad_args:  Tcl_WrongNumArgs(interp, 1, objv, "DB");  return TCL_ERROR;}/*** tclcmd:   add_alignment_test_collations  DB**** Add two new collating sequences to the database DB****     utf16_aligned**     utf16_unaligned**** Both collating sequences use the same sort order as BINARY.** The only difference is that the utf16_aligned collating** sequence is declared with the SQLITE_UTF16_ALIGNED flag.** Both collating functions increment the unaligned utf16 counter** whenever they see a string that begins on an odd byte boundary.*/static int unaligned_string_counter = 0;static int alignmentCollFunc(  void *NotUsed,  int nKey1, const void *pKey1,  int nKey2, const void *pKey2){  int rc, n;  n = nKey1<nKey2 ? nKey1 : nKey2;  if( nKey1>0 && 1==(1&(int)pKey1) ) unaligned_string_counter++;  if( nKey2>0 && 1==(1&(int)pKey2) ) unaligned_string_counter++;  rc = memcmp(pKey1, pKey2, n);  if( rc==0 ){    rc = nKey1 - nKey2;  }  return rc;}static int add_alignment_test_collations(  void * clientData,  Tcl_Interp *interp,  int objc,  Tcl_Obj *CONST objv[]){  sqlite3 *db;  if( objc>=2 ){    if( getDbPointer(interp, Tcl_GetString(objv[1]), &db) ) return TCL_ERROR;    sqlite3_create_collation(db, "utf16_unaligned",        SQLITE_UTF16,         0, alignmentCollFunc);    sqlite3_create_collation(db, "utf16_aligned",        SQLITE_UTF16 | SQLITE_UTF16_ALIGNED,         0, alignmentCollFunc);  }  return SQLITE_OK;}#endif /* !defined(SQLITE_OMIT_UTF16) *//*** Usage: add_test_function <db ptr> <utf8> <utf16le> <utf16be>**** This function is used to test that SQLite selects the correct user** function callback when multiple versions (for different text encodings)** are available.**** Calling this routine registers up to three versions of the user function** "test_function" with database handle <db>.  If the second argument is** true, then a version of test_function is registered for UTF-8, if the** third is true, a version is registered for UTF-16le, if the fourth is** true, a UTF-16be version is available.  Previous versions of** test_function are deleted.**** The user function is implemented by calling the following TCL script:****   "test_function <enc> <arg>"**** Where <enc> is one of UTF-8, UTF-16LE or UTF16BE, and <arg> is the** single argument passed to the SQL function. The value returned by** the TCL script is used as the return value of the SQL function. It** is passed to SQLite using UTF-16BE for a UTF-8 test_function(), UTF-8** for a UTF-16LE test_function(), and UTF-16LE for an implementation that** prefers UTF-16BE.*/#ifndef SQLITE_OMIT_UTF16static void test_function_utf8(  sqlite3_context *pCtx,   int nArg,  sqlite3_value **argv){  Tcl_Interp *interp;  Tcl_Obj *pX;  sqlite3_value *pVal;  interp = (Tcl_Interp *)sqlite3_user_data(pCtx);  pX = Tcl_NewStringObj("test_function", -1);  Tcl_IncrRefCount(pX);  Tcl_ListObjAppendElement(interp, pX, Tcl_NewStringObj("UTF-8", -1));  Tcl_ListObjAppendElement(interp, pX,       Tcl_NewStringObj((char*)sqlite3_value_text(argv[0]), -1));  Tcl_EvalObjEx(interp, pX, 0);  Tcl_DecrRefCount(pX);  sqlite3_result_text(pCtx, Tcl_GetStringResult(interp), -1, SQLITE_TRANSIENT);  pVal = sqlite3ValueNew();  sqlite3ValueSetStr(pVal, -1, Tcl_GetStringResult(interp),       SQLITE_UTF8, SQLITE_STATIC);  sqlite3_result_text16be(pCtx, sqlite3_value_text16be(pVal),      -1, SQLITE_TRANSIENT);  sqlite3ValueFree(pVal);}static void test_function_utf16le(  sqlite3_context *pCtx,   int nArg,  sqlite3_value **argv){  Tcl_Interp *interp;  Tcl_Obj *pX;  sqlite3_value *pVal;  interp = (Tcl_Interp *)sqlite3_user_data(pCtx);  pX = Tcl_NewStringObj("test_function", -1);  Tcl_IncrRefCount(pX);  Tcl_ListObjAppendElement(interp, pX, Tcl_NewStringObj("UTF-16LE", -1));  Tcl_ListObjAppendElement(interp, pX,       Tcl_NewStringObj((char*)sqlite3_value_text(argv[0]), -1));  Tcl_EvalObjEx(interp, pX, 0);  Tcl_DecrRefCount(pX);  pVal = sqlite3ValueNew();  sqlite3ValueSetStr(pVal, -1, Tcl_GetStringResult(interp),       SQLITE_UTF8, SQLITE_STATIC);  sqlite3_result_text(pCtx,(char*)sqlite3_value_text(pVal),-1,SQLITE_TRANSIENT);  sqlite3ValueFree(pVal);}static void test_function_utf16be(  sqlite3_context *pCtx,   int nArg,  sqlite3_value **argv){  Tcl_Interp *interp;  Tcl_Obj *pX;  sqlite3_value *pVal;  interp = (Tcl_Interp *)sqlite3_user_data(pCtx);  pX = Tcl_NewStringObj("test_function", -1);  Tcl_IncrRefCount(pX);  Tcl_ListObjAppendElement(interp, pX, Tcl_NewStringObj("UTF-16BE", -1));  Tcl_ListObjAppendElement(interp, pX,       Tcl_NewStringObj((char*)sqlite3_value_text(argv[0]), -1));  Tcl_EvalObjEx(interp, pX, 0);  Tcl_DecrRefCount(pX);  pVal = sqlite3ValueNew();  sqlite3ValueSetStr(pVal, -1, Tcl_GetStringResult(interp),       SQLITE_UTF8, SQLITE_STATIC);  sqlite3_result_text16le(pCtx, sqlite3_value_text16le(pVal),      -1, SQLITE_TRANSIENT);  sqlite3ValueFree(pVal);}#endif /* SQLITE_OMIT_UTF16 */static int test_function(  void * clientData,  Tcl_Interp *interp,  int objc,  Tcl_Obj *CONST objv[]){#ifndef SQLITE_OMIT_UTF16  sqlite3 *db;  int val;  if( objc!=5 ) goto bad_args;  if( getDbPointer(interp, Tcl_GetString(objv[1]), &db) ) return TCL_ERROR;  if( TCL_OK!=Tcl_GetBooleanFromObj(interp, objv[2], &val) ) return TCL_ERROR;  if( val ){    sqlite3_create_function(db, "test_function", 1, SQLITE_UTF8,         interp, test_function_utf8, 0, 0);  }  if( TCL_OK!=Tcl_GetBooleanFromObj(interp, objv[3], &val) ) return TCL_ERROR;  if( val ){    sqlite3_create_function(db, "test_function", 1, SQLITE_UTF16LE,         interp, test_function_utf16le, 0, 0);  }  if( TCL_OK!=Tcl_GetBooleanFromObj(interp, objv[4], &val) ) return TCL_ERROR;  if( val ){    sqlite3_create_function(db, "test_function", 1, SQLITE_UTF16BE,         interp, test_function_utf16be, 0, 0);  }  return TCL_OK;bad_args:  Tcl_AppendResult(interp, "wrong # args: should be \"",      Tcl_GetStringFromObj(objv[0], 0), " <DB> <utf8> <utf16le> <utf16be>", 0);#endif /* SQLITE_OMIT_UTF16 */  return TCL_ERROR;}/*** Usage:         test_errstr <err code>**** Test that the english language string equivalents for sqlite error codes** are sane. The parameter is an integer representing an sqlite error code.** The result is a list of two elements, the string representation of the** error code and the english language explanation.*/static int test_errstr(  void * clientData,  Tcl_Interp *interp,  int objc,  Tcl_Obj *CONST objv[]){  char *zCode;  int i;  if( objc!=1 ){    Tcl_WrongNumArgs(interp, 1, objv, "<error code>");  }  zCode = Tcl_GetString(objv[1]);  for(i=0; i<200; i++){    if( 0==strcmp(errorName(i), zCode) ) break;  }  Tcl_SetResult(interp, (char *)sqlite3ErrStr(i), 0);  return TCL_OK;}/*** Usage:    breakpoint**** This routine exists for one purpose - to provide a place to put a** breakpoint with GDB that can be triggered using TCL code.  The use** for this is when a particular test fails on (say) the 1485th iteration.** In the TCL test script, we can add code like this:****     if {$i==1485} breakpoint**** Then run testfixture in the debugger and wait for the breakpoint to** fire.  Then additional breakpoints can be set to trace down the bug.*/static int test_breakpoint(  void *NotUsed,  Tcl_Interp *interp,    /* The TCL interpreter that invoked this command */  int argc,              /* Number of arguments */  char **argv            /* Text of each argument */){  return TCL_OK;         /* Do nothing */}/*** Usage:   sqlite3_bind_int  STMT N VALUE**** Test the sqlite3_bind_int interface.  STMT is a prepared statement.** N is the index of a wildcard in the prepared statement.  This command** binds a 32-bit integer VALUE to that wildcard.*/static int test_bind_int(  void * clientData,  Tcl_Interp *interp,  int objc,  Tcl_Obj *CONST objv[]){  sqlite3_stmt *pStmt;  int idx;  int value;  int rc;  if( objc!=4 ){

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲综合色| 国产精品电影一区二区| 午夜视频在线观看一区二区| 91麻豆高清视频| 国产精品视频一区二区三区不卡| 国产成人精品综合在线观看 | 色先锋aa成人| 亚洲男帅同性gay1069| 色婷婷精品大在线视频| 亚洲福利电影网| 日韩一级大片在线观看| 精品亚洲aⅴ乱码一区二区三区| 亚洲日本免费电影| 91捆绑美女网站| 午夜久久久久久久久| 欧美变态tickle挠乳网站| 国产夫妻精品视频| 国产精品国产三级国产| 欧美三区免费完整视频在线观看| 视频一区视频二区中文| 精品粉嫩aⅴ一区二区三区四区| 国产电影精品久久禁18| 亚洲伊人色欲综合网| 日韩亚洲欧美一区| 99视频精品全部免费在线| 午夜激情一区二区| 国产女主播在线一区二区| 91黄视频在线观看| 久久97超碰色| 亚洲欧美日韩中文字幕一区二区三区| 在线看不卡av| 国产综合一区二区| 亚洲尤物在线视频观看| 久久蜜桃一区二区| 欧美视频你懂的| 国产成人综合自拍| 日韩精品久久理论片| 亚洲国产电影在线观看| 91精品午夜视频| 99久久精品情趣| 久久精品99国产精品日本| 亚洲丝袜美腿综合| 久久久久国产精品麻豆| 欧美日韩电影一区| 成人av免费网站| 激情深爱一区二区| 亚洲午夜免费电影| 欧美国产禁国产网站cc| 日韩三级伦理片妻子的秘密按摩| 97久久精品人人做人人爽| 老色鬼精品视频在线观看播放| 亚洲视频资源在线| 国产亚洲美州欧州综合国| 欧美美女bb生活片| 91在线你懂得| 粉嫩绯色av一区二区在线观看| 日一区二区三区| 婷婷一区二区三区| 最新国产の精品合集bt伙计| 精品1区2区在线观看| 在线不卡a资源高清| 欧美午夜理伦三级在线观看| 不卡av电影在线播放| 国产精品911| 国内精品在线播放| 久久国产精品免费| 日本不卡免费在线视频| 三级久久三级久久| 日日夜夜精品视频免费| 午夜欧美一区二区三区在线播放| 亚洲精品国产无天堂网2021| 亚洲欧洲精品一区二区精品久久久 | 日韩精品福利网| 午夜亚洲国产au精品一区二区| 一区二区视频在线看| 亚洲精品日日夜夜| 亚洲免费电影在线| 亚洲精品视频一区| 亚洲成人av在线电影| 亚洲国产一区视频| 亚洲成人福利片| 日日骚欧美日韩| 久久99热这里只有精品| 国产主播一区二区| 国产suv精品一区二区6| 99精品欧美一区| 日本精品视频一区二区| 91高清在线观看| 91精品国产综合久久久久久漫画| 在线播放国产精品二区一二区四区 | 精品福利在线导航| 久久婷婷成人综合色| 日本一区二区三区视频视频| 国产精品丝袜久久久久久app| 亚洲欧洲美洲综合色网| 亚洲国产精品久久一线不卡| 免费高清视频精品| 激情成人综合网| 国产成人免费视频网站 | 精品国产乱码久久久久久牛牛| 日韩欧美一区二区不卡| 久久久久久久久久看片| 国产精品久久久久久久久免费桃花 | 成人av电影在线| 欧美日韩和欧美的一区二区| 在线电影欧美成精品| 国产日产欧美一区二区视频| 国产精品家庭影院| 亚洲大片免费看| 激情综合色播五月| 9人人澡人人爽人人精品| 欧美在线综合视频| 欧美mv和日韩mv国产网站| 中文一区二区在线观看| 亚洲一区中文日韩| 国产一二三精品| 91久久精品午夜一区二区| 日韩精品一区在线观看| 国产精品美女久久久久aⅴ | 国产精品久久久久三级| 亚洲国产成人91porn| 国产精品69毛片高清亚洲| 91麻豆精品在线观看| 欧美电影免费观看高清完整版| 国产精品视频九色porn| 三级亚洲高清视频| 99精品视频中文字幕| 欧美一级生活片| 中文字幕综合网| 精品影院一区二区久久久| 91丨九色丨尤物| 精品国产一区二区三区忘忧草| 自拍偷拍亚洲欧美日韩| 麻豆精品视频在线观看免费| 欧美又粗又大又爽| 欧美激情一区三区| 日韩二区在线观看| 在线视频综合导航| 久久久久免费观看| 日本不卡的三区四区五区| 在线观看亚洲a| 国产精品丝袜91| 国产伦精一区二区三区| 欧美高清视频一二三区| 亚洲视频每日更新| 成人美女在线视频| 国产日韩精品一区二区浪潮av| 免费三级欧美电影| 欧美日韩情趣电影| 亚洲激情在线播放| 不卡一卡二卡三乱码免费网站| 欧美大度的电影原声| 日韩不卡一二三区| 欧美日韩中文字幕一区二区| 一区免费观看视频| 成人免费观看视频| 国产日韩欧美在线一区| 国产综合色产在线精品| 精品日韩一区二区| 久久9热精品视频| 日韩视频免费观看高清完整版 | 性感美女极品91精品| 色噜噜夜夜夜综合网| 国产精品久久久久久久久动漫| 国产夫妻精品视频| 欧美国产精品久久| www.日韩大片| 亚洲欧洲精品一区二区三区 | 亚洲最大成人综合| 日本高清不卡视频| 亚洲美女视频一区| 欧美午夜电影网| 首页国产欧美日韩丝袜| 欧美二区三区的天堂| 青青草国产精品97视觉盛宴 | 色系网站成人免费| 亚洲一区二区三区自拍| 欧美在线免费视屏| 亚洲妇熟xx妇色黄| 日韩免费电影一区| 国产精品一区二区无线| 国产免费久久精品| 97久久精品人人爽人人爽蜜臀| 亚洲欧美日韩久久精品| 91国产精品成人| 日韩成人免费电影| 久久久国产午夜精品| 国产盗摄视频一区二区三区| 国产精品久久网站| 色妞www精品视频| 日日噜噜夜夜狠狠视频欧美人| 在线播放国产精品二区一二区四区 | 日韩免费观看高清完整版在线观看| 琪琪一区二区三区| 国产亲近乱来精品视频| 91丨九色丨蝌蚪丨老版| 亚洲国产成人精品视频| www日韩大片| 91美女精品福利| 免费观看在线色综合|