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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? lstrlib.c

?? 小游戲 linux very happy
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
/*** $Id: lstrlib.c,v 1.1 2002/02/14 10:46:59 jcatki Exp $** Standard library for string operations and pattern-matching** See Copyright Notice in lua.h*/#include <ctype.h>#include <stddef.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include "lua.h"#include "lauxlib.h"#include "lualib.h"static int str_len (lua_State *L) {  size_t l;  luaL_check_lstr(L, 1, &l);  lua_pushnumber(L, l);  return 1;}static long posrelat (long pos, size_t len) {  /* relative string position: negative means back from end */  return (pos>=0) ? pos : (long)len+pos+1;}static int str_sub (lua_State *L) {  size_t l;  const char *s = luaL_check_lstr(L, 1, &l);  long start = posrelat(luaL_check_long(L, 2), l);  long end = posrelat(luaL_opt_long(L, 3, -1), l);  if (start < 1) start = 1;  if (end > (long)l) end = l;  if (start <= end)    lua_pushlstring(L, s+start-1, end-start+1);  else lua_pushstring(L, "");  return 1;}static int str_lower (lua_State *L) {  size_t l;  size_t i;  luaL_Buffer b;  const char *s = luaL_check_lstr(L, 1, &l);  luaL_buffinit(L, &b);  for (i=0; i<l; i++)    luaL_putchar(&b, tolower((unsigned char)(s[i])));  luaL_pushresult(&b);  return 1;}static int str_upper (lua_State *L) {  size_t l;  size_t i;  luaL_Buffer b;  const char *s = luaL_check_lstr(L, 1, &l);  luaL_buffinit(L, &b);  for (i=0; i<l; i++)    luaL_putchar(&b, toupper((unsigned char)(s[i])));  luaL_pushresult(&b);  return 1;}static int str_rep (lua_State *L) {  size_t l;  luaL_Buffer b;  const char *s = luaL_check_lstr(L, 1, &l);  int n = luaL_check_int(L, 2);  luaL_buffinit(L, &b);  while (n-- > 0)    luaL_addlstring(&b, s, l);  luaL_pushresult(&b);  return 1;}static int str_byte (lua_State *L) {  size_t l;  const char *s = luaL_check_lstr(L, 1, &l);  long pos = posrelat(luaL_opt_long(L, 2, 1), l);  luaL_arg_check(L, 0<pos && (size_t)pos<=l, 2,  "out of range");  lua_pushnumber(L, (unsigned char)s[pos-1]);  return 1;}static int str_char (lua_State *L) {  int n = lua_gettop(L);  /* number of arguments */  int i;  luaL_Buffer b;  luaL_buffinit(L, &b);  for (i=1; i<=n; i++) {    int c = luaL_check_int(L, i);    luaL_arg_check(L, (unsigned char)c == c, i, "invalid value");    luaL_putchar(&b, (unsigned char)c);  }  luaL_pushresult(&b);  return 1;}/*** {======================================================** PATTERN MATCHING** =======================================================*/#ifndef MAX_CAPTURES#define MAX_CAPTURES 32  /* arbitrary limit */#endifstruct Capture {  const char *src_end;  /* end ('\0') of source string */  int level;  /* total number of captures (finished or unfinished) */  struct {    const char *init;    long len;  /* -1 signals unfinished capture */  } capture[MAX_CAPTURES];};#define ESC		'%'#define SPECIALS	"^$*+?.([%-"static int check_capture (lua_State *L, int l, struct Capture *cap) {  l -= '1';  if (!(0 <= l && l < cap->level && cap->capture[l].len != -1))    lua_error(L, "invalid capture index");  return l;}static int capture_to_close (lua_State *L, struct Capture *cap) {  int level = cap->level;  for (level--; level>=0; level--)    if (cap->capture[level].len == -1) return level;  lua_error(L, "invalid pattern capture");  return 0;  /* to avoid warnings */}const char *luaI_classend (lua_State *L, const char *p) {  switch (*p++) {    case ESC:      if (*p == '\0') lua_error(L, "malformed pattern (ends with `%')");      return p+1;    case '[':      if (*p == '^') p++;      do {  /* look for a ']' */        if (*p == '\0') lua_error(L, "malformed pattern (missing `]')");        if (*(p++) == ESC && *p != '\0') p++;  /* skip escapes (e.g. '%]') */      } while (*p != ']');      return p+1;    default:      return p;  }}static int match_class (int c, int cl) {  int res;  switch (tolower(cl)) {    case 'a' : res = isalpha(c); break;    case 'c' : res = iscntrl(c); break;    case 'd' : res = isdigit(c); break;    case 'l' : res = islower(c); break;    case 'p' : res = ispunct(c); break;    case 's' : res = isspace(c); break;    case 'u' : res = isupper(c); break;    case 'w' : res = isalnum(c); break;    case 'x' : res = isxdigit(c); break;    case 'z' : res = (c == '\0'); break;    default: return (cl == c);  }  return (islower(cl) ? res : !res);}static int matchbracketclass (int c, const char *p, const char *endclass) {  int sig = 1;  if (*(p+1) == '^') {    sig = 0;    p++;  /* skip the '^' */  }  while (++p < endclass) {    if (*p == ESC) {      p++;      if (match_class(c, (unsigned char)*p))        return sig;    }    else if ((*(p+1) == '-') && (p+2 < endclass)) {      p+=2;      if ((int)(unsigned char)*(p-2) <= c && c <= (int)(unsigned char)*p)        return sig;    }    else if ((int)(unsigned char)*p == c) return sig;  }  return !sig;}int luaI_singlematch (int c, const char *p, const char *ep) {  switch (*p) {    case '.':  /* matches any char */      return 1;    case ESC:      return match_class(c, (unsigned char)*(p+1));    case '[':      return matchbracketclass(c, p, ep-1);    default:      return ((unsigned char)*p == c);  }}static const char *match (lua_State *L, const char *s, const char *p,                          struct Capture *cap);static const char *matchbalance (lua_State *L, const char *s, const char *p,                                 struct Capture *cap) {  if (*p == 0 || *(p+1) == 0)    lua_error(L, "unbalanced pattern");  if (*s != *p) return NULL;  else {    int b = *p;    int e = *(p+1);    int cont = 1;    while (++s < cap->src_end) {      if (*s == e) {        if (--cont == 0) return s+1;      }      else if (*s == b) cont++;    }  }  return NULL;  /* string ends out of balance */}static const char *max_expand (lua_State *L, const char *s, const char *p,                               const char *ep, struct Capture *cap) {  long i = 0;  /* counts maximum expand for item */  while ((s+i)<cap->src_end && luaI_singlematch((unsigned char)*(s+i), p, ep))    i++;  /* keeps trying to match with the maximum repetitions */  while (i>=0) {    const char *res = match(L, (s+i), ep+1, cap);    if (res) return res;    i--;  /* else didn't match; reduce 1 repetition to try again */  }  return NULL;}static const char *min_expand (lua_State *L, const char *s, const char *p,                               const char *ep, struct Capture *cap) {  for (;;) {    const char *res = match(L, s, ep+1, cap);    if (res != NULL)      return res;    else if (s<cap->src_end && luaI_singlematch((unsigned char)*s, p, ep))      s++;  /* try with one more repetition */    else return NULL;  }}static const char *start_capture (lua_State *L, const char *s, const char *p,                                  struct Capture *cap) {  const char *res;  int level = cap->level;  if (level >= MAX_CAPTURES) lua_error(L, "too many captures");  cap->capture[level].init = s;  cap->capture[level].len = -1;  cap->level = level+1;  if ((res=match(L, s, p+1, cap)) == NULL)  /* match failed? */    cap->level--;  /* undo capture */  return res;}static const char *end_capture (lua_State *L, const char *s, const char *p,                                struct Capture *cap) {  int l = capture_to_close(L, cap);  const char *res;  cap->capture[l].len = s - cap->capture[l].init;  /* close capture */  if ((res = match(L, s, p+1, cap)) == NULL)  /* match failed? */    cap->capture[l].len = -1;  /* undo capture */  return res;}static const char *match_capture (lua_State *L, const char *s, int level,                                  struct Capture *cap) {  int l = check_capture(L, level, cap);  size_t len = cap->capture[l].len;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
69成人精品免费视频| 欧美体内she精视频| 欧美电影免费观看高清完整版| 亚洲伊人伊色伊影伊综合网| 91免费小视频| 最新欧美精品一区二区三区| 丁香天五香天堂综合| 久久久一区二区三区| 精彩视频一区二区| 精品国产免费人成在线观看| 久久不见久久见中文字幕免费| 日韩一级二级三级| 美脚の诱脚舐め脚责91| 91精品国产综合久久香蕉的特点| 亚洲18女电影在线观看| 9191国产精品| 日本不卡视频一二三区| 777午夜精品免费视频| 日韩在线一二三区| 欧美一级欧美三级在线观看| 日本欧美肥老太交大片| 日韩视频一区二区三区| 久久99精品网久久| 欧美极品另类videosde| 99久久精品国产观看| 一区二区三区加勒比av| 欧美视频一区在线| 日本成人在线网站| www国产成人免费观看视频 深夜成人网| 久久er99精品| 久久网这里都是精品| 成人avav影音| 亚洲午夜电影网| 91精品国产综合久久久久久久| 久久精品国产免费| 国产网站一区二区| 99re热视频精品| 亚洲成a人片在线不卡一二三区 | 一本久久综合亚洲鲁鲁五月天 | 久久精品免费观看| 久久精品视频在线看| 丁香激情综合五月| 亚洲综合区在线| 5566中文字幕一区二区电影 | 极品少妇一区二区三区精品视频| 久久人人爽爽爽人久久久| 成人av网站在线| 一区二区三区精品视频| 日韩区在线观看| 国产成人免费xxxxxxxx| 亚洲免费视频成人| 欧美一级久久久| 成人av小说网| 丝袜亚洲另类欧美综合| 七七婷婷婷婷精品国产| 欧美成人一区二区三区片免费| 欧美激情资源网| 国产不卡在线播放| 国产欧美日韩在线视频| 91美女精品福利| 免费在线视频一区| 中文字幕免费在线观看视频一区| 色婷婷久久久亚洲一区二区三区| 日韩成人免费看| 国产精品毛片久久久久久久| 666欧美在线视频| 粉嫩蜜臀av国产精品网站| 亚洲成av人在线观看| 久久天堂av综合合色蜜桃网| 色88888久久久久久影院野外 | 综合婷婷亚洲小说| 日韩一区二区三区视频| 成人免费不卡视频| 日韩精品国产欧美| 中文字幕一区二| 日韩美女视频在线| 色域天天综合网| 黄色日韩三级电影| 无吗不卡中文字幕| **网站欧美大片在线观看| 日韩女优视频免费观看| 色老综合老女人久久久| 国产美女精品在线| 午夜欧美在线一二页| 中文字幕日本不卡| 精品国产成人系列| 精品视频免费看| 波多野结衣视频一区| 激情综合色综合久久综合| 亚洲成av人**亚洲成av**| 国产精品情趣视频| 欧美成人女星排行榜| 欧美日韩国产电影| 色偷偷久久一区二区三区| 国产乱人伦偷精品视频免下载| 午夜影院在线观看欧美| 最新热久久免费视频| 久久先锋资源网| 日韩欧美国产综合一区 | 成人在线视频首页| 另类欧美日韩国产在线| 樱花影视一区二区| 亚洲欧洲国产日韩| 久久精品视频一区二区三区| 日韩三级精品电影久久久| 欧美综合色免费| av网站一区二区三区| 国产麻豆9l精品三级站| 麻豆精品国产91久久久久久| 亚洲第一综合色| 亚洲视频一二区| 国产精品视频一区二区三区不卡| 久久嫩草精品久久久久| 日韩久久久精品| 日韩欧美高清dvd碟片| 欧美中文一区二区三区| 91在线观看下载| 成人免费视频视频| 粉嫩13p一区二区三区| 国产激情91久久精品导航| 久久精品免费观看| 久久aⅴ国产欧美74aaa| 久久综合综合久久综合| 麻豆国产精品777777在线| 日韩精品1区2区3区| 亚洲福中文字幕伊人影院| 亚洲一区二区欧美| 夜夜嗨av一区二区三区四季av| 综合分类小说区另类春色亚洲小说欧美| 国产色婷婷亚洲99精品小说| 久久久精品tv| 国产肉丝袜一区二区| 欧美国产成人精品| 一区视频在线播放| 国产精品女主播av| 国产午夜精品福利| 中文字幕 久热精品 视频在线 | 成人av网在线| 成人午夜视频福利| av成人老司机| 99国产精品视频免费观看| 99久久久久久99| 一本久久综合亚洲鲁鲁五月天| 欧洲精品视频在线观看| 欧美日韩免费电影| 欧美人与性动xxxx| 在线播放国产精品二区一二区四区| 欧美精品免费视频| 日韩视频123| 国产偷国产偷精品高清尤物 | 国产精品国产三级国产aⅴ原创| 国产精品久久毛片| 亚洲女人小视频在线观看| 一个色在线综合| 视频一区国产视频| 国产一区二区不卡| 99精品久久免费看蜜臀剧情介绍| 色丁香久综合在线久综合在线观看| 欧美色成人综合| 日韩欧美美女一区二区三区| 国产亚洲女人久久久久毛片| 综合网在线视频| 婷婷成人综合网| 精品在线亚洲视频| jlzzjlzz欧美大全| 欧美日韩一二三区| 26uuu国产一区二区三区| 中文字幕一区二区不卡| 香蕉乱码成人久久天堂爱免费| 欧美aⅴ一区二区三区视频| 国产精品69毛片高清亚洲| 91丨九色丨尤物| 欧美高清视频不卡网| 久久精品欧美一区二区三区不卡| 国产精品国模大尺度视频| 亚洲亚洲精品在线观看| 久久国产尿小便嘘嘘| 不卡视频在线观看| 91精品国产色综合久久不卡电影| 国产片一区二区| 亚洲线精品一区二区三区八戒| 久久国产精品99精品国产| 成人av午夜电影| 欧美一级久久久| √…a在线天堂一区| 青青草视频一区| 成人免费高清在线| 91.成人天堂一区| 日本一区二区三区四区在线视频| 亚洲高清免费观看| 成人一级黄色片| 91精品国产色综合久久不卡电影| 国产精品久久久久aaaa| 日韩黄色免费电影| 99久久免费视频.com| 欧美一区二区成人6969| 亚洲欧美激情视频在线观看一区二区三区 | 日韩一区二区三区观看| 国产精品久久久一本精品| 美女脱光内衣内裤视频久久网站|