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

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

?? macro.c

?? pl0編譯器
?? C
字號:
/*
 *	Macro control for make
 */


#include "h.h"


MACRO *macrohead;


MACRO *getmp(char * name)
{
  register MACRO *rp;
  
  for (rp = macrohead; rp; rp = rp->m_next)
    if (strcmp(name, rp->m_name) == 0)
      break;

  return rp;
}

char *mksubst(char *mval,char *colon)
{
  static substbuf[LZ];
  char   *psrc,*pdst,*match;
  char   *newval;
  int    advance,oldlen;

  if (colon == 0)
    return mval;
  newval = strchr(colon,'=');
  *(newval++) = '\0';
  oldlen = newval - colon - 1;

#if 0
  printf("(mksubst)  colon  = %s\n"
	 "(mksubst) newval = %s\n",colon,newval);
#endif
  
  psrc = mval; pdst = substbuf;
  while (1)
    {
      match = strstr(psrc,colon);
      if (match == NULL) {
	strcpy(pdst,psrc);
        break;
      }
      advance = match-psrc;
      strncpy(pdst,psrc,advance);
      pdst += advance;
      strcpy(pdst,newval);
      while (*pdst)
	pdst++;
#if 0
      printf("(mksubst)  psrc     = %s\n"
	     "(mksubst)  match    = %s\n"
	     "(mksubst)  substbuf = %s\n",psrc,match,substbuf);
#endif 
      psrc = match+oldlen;
    }
    return substbuf;
}

MACRO *setmacro(name, val)
char *name;
char *val;
{
  register MACRO *	rp;
  
  
  /*  Replace macro definition if it exists  */
  for (rp = macrohead; rp; rp = rp->m_next)
    if (strcmp(name, rp->m_name) == 0)
      {
	free(rp->m_val);	/*  Free space from old  */
	break;
      }
  
  if (!rp)		/*  If not defined, allocate space for new  */
    {
      rp = (MACRO *)malloc(sizeof (MACRO));
      if (rp == NULL)
	fatal("No memory for macro");
      
      rp->m_next = macrohead;
      macrohead = rp;
      rp->m_flag = FALSE;
      if ((rp->m_name = strdup(name)) == NULL)
      fatal("No memory for macro '%s'",name);
    }
  
  if ((rp->m_val = strdup(val))==NULL)
    fatal("No memory for macro'%s'",rp->m_name);
  
  return rp;
}

/*
 *	Do the dirty work for expand
 *
 *
 */
void doexp(char **to,char *from,int *len,char *buf)
{
  register char *rp;
  register char *p;
  register char *q;
  register MACRO *mp;
  char           *colon;

  rp = from;
  p = *to;
  while (*rp)
    {
      if (*rp != '$')
	{
	  *p++ = *rp++;
	  (*len)--;
	}
      else
	{
	  q = buf;
	  if (*++rp == '{')
	    while (*++rp && *rp != '}')
	      *q++ = *rp;
	  else if (*rp == '(')
	    while (*++rp && *rp != ')')
	      *q++ = *rp;
	  else if (!*rp)
	    {
	      *p++ = '$';
	      break;
	    }
	  else
	    *q++ = *rp;
	  *q = '\0';
	  if (*rp)
	    rp++;

	  colon = strchr(buf,';');
	  if (colon) {
	    *(colon++) = '\0';
	    if (strchr(colon,'=') == NULL) {
	      *(--colon) = ';';
	      fatal("Syntax error in macro '%s'",buf);
	    }
	  }
	  if (!(mp = getmp(buf)))
	    mp = setmacro(buf, "");
	  if (mp->m_flag)
	    fatal("Infinitely recursive macro %s", mp->m_name);
	  mp->m_flag = TRUE;
	  *to = p;
	  doexp(to, mksubst(mp->m_val,colon), len, buf);
	  p = *to;
	  mp->m_flag = FALSE;
	}
      if (*len <= 0)
	error("Expanded line too line");
    }
  *p = '\0';
  *to = p;
}


/*
 *	Expand any macros in str.
 */
void
expand(str)
char *		str;
{
	static char		a[LZ];
	static char		b[LZ];
	char *			p = str;
	int			len = LZ-1;

	strcpy(a, str);
	doexp(&p, a, &len, b);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91国产免费看| 亚洲国产精品精华液网站| 久久99国产精品久久99| 欧美剧在线免费观看网站| 日本欧美在线观看| 欧美精品一区二区三区蜜桃| 国产又黄又大久久| 国产精品无遮挡| 色综合天天综合在线视频| 美国十次综合导航| 久久免费国产精品| 色悠悠久久综合| 五月综合激情日本mⅴ| 日韩欧美亚洲另类制服综合在线| 国产麻豆欧美日韩一区| 亚洲国产激情av| 欧美性一二三区| 美女脱光内衣内裤视频久久网站 | 亚洲丝袜另类动漫二区| 日本高清无吗v一区| 裸体一区二区三区| 国产精品免费人成网站| 欧美日韩一二区| 韩国av一区二区三区四区| 中文字幕一区二区三区四区| 久久精品国产久精国产爱| 中文字幕巨乱亚洲| 欧美日韩不卡视频| 成人丝袜高跟foot| 日韩在线卡一卡二| 欧美高清在线精品一区| 欧美日韩一卡二卡三卡| 国产一区二区三区免费观看| 一区二区免费看| 久久欧美一区二区| 在线电影一区二区三区| 不卡一区二区中文字幕| 麻豆精品国产91久久久久久| 亚洲欧美另类久久久精品| 精品久久久三级丝袜| 欧日韩精品视频| 国产69精品一区二区亚洲孕妇| 五月婷婷色综合| 亚洲免费毛片网站| 久久精品亚洲精品国产欧美| 777色狠狠一区二区三区| 99精品久久只有精品| 国产乱国产乱300精品| 天天影视涩香欲综合网| 亚洲欧美日韩国产手机在线| 久久精品一区二区三区av| 7777精品伊人久久久大香线蕉的| 成人精品高清在线| 国产一区二区三区高清播放| 午夜精品久久久久久久久久久| 亚洲欧美日韩中文播放| 欧美国产97人人爽人人喊| 精品国产制服丝袜高跟| 3atv在线一区二区三区| 91久久久免费一区二区| 成人黄色电影在线| 懂色av一区二区夜夜嗨| 国产伦精品一区二区三区免费 | 亚洲高清视频在线| 亚洲人成精品久久久久| 欧美国产一区二区| 国产亚洲欧美激情| 久久精品视频在线免费观看| 日韩精品一区二区三区视频| 制服.丝袜.亚洲.另类.中文| 欧美精品在线观看播放| 欧美日韩精品一区二区三区 | 粉嫩一区二区三区在线看| 极品瑜伽女神91| 国产一区二区三区国产| 狠狠色丁香久久婷婷综合丁香| 奇米精品一区二区三区在线观看一 | 五月激情综合色| 亚洲一区免费在线观看| 亚洲伊人色欲综合网| 亚洲精品日日夜夜| 亚洲午夜精品在线| 一区二区高清在线| 五月天激情综合| 免费黄网站欧美| 欧美bbbbb| 国模大尺度一区二区三区| 国产一区二区在线视频| 国产成人亚洲综合色影视| 国产成人丝袜美腿| 93久久精品日日躁夜夜躁欧美| 波多野结衣91| 欧美影视一区二区三区| 欧美一级淫片007| 精品久久久久久久久久久院品网 | 91精品国模一区二区三区| 日韩三级高清在线| 精品国产免费人成在线观看| 国产区在线观看成人精品| 中文字幕一区av| 午夜精品福利视频网站| 久久99精品一区二区三区| 国产成人免费av在线| 色婷婷久久一区二区三区麻豆| 欧美精选一区二区| 久久久电影一区二区三区| 亚洲男女一区二区三区| 日本女优在线视频一区二区| 国产成人在线网站| 欧美日韩1234| 国产色爱av资源综合区| 亚洲国产婷婷综合在线精品| 久久福利视频一区二区| 成人av网站免费| 91精品国产色综合久久久蜜香臀| 久久亚洲一区二区三区四区| 亚洲女爱视频在线| 极品少妇xxxx偷拍精品少妇| 91麻豆精品一区二区三区| 日韩精品中午字幕| 亚洲免费av网站| 国产精品69毛片高清亚洲| 欧美日韩国产小视频在线观看| 久久午夜国产精品| 亚洲综合色噜噜狠狠| 国产精品一二三四五| 欧美日韩国产欧美日美国产精品| 国产亚洲婷婷免费| 青青草伊人久久| 在线精品视频一区二区三四 | 中文字幕一区二区三区蜜月| 午夜精品久久久久| aa级大片欧美| 久久欧美中文字幕| 美女国产一区二区| 欧美亚洲动漫精品| 亚洲欧洲三级电影| 国产成人综合亚洲91猫咪| 91精品国产一区二区| 亚洲高清免费视频| 91同城在线观看| 欧美国产97人人爽人人喊| 精品亚洲aⅴ乱码一区二区三区| 欧洲国内综合视频| 亚洲免费在线电影| www.亚洲在线| 国产精品嫩草影院av蜜臀| 韩国欧美国产1区| 日韩欧美国产精品| 人人超碰91尤物精品国产| 欧美高清一级片在线| 亚洲欧美日韩国产综合在线| 99在线精品观看| 欧美激情一区在线| 国产一区二区精品久久99| 精品伦理精品一区| 美国毛片一区二区| 日韩欧美一区二区久久婷婷| 蜜桃av一区二区| 日韩三级中文字幕| 看片的网站亚洲| 日韩精品一区二区三区四区| 九色porny丨国产精品| 91精品国产综合久久精品麻豆| 午夜精品福利久久久| 91精品婷婷国产综合久久竹菊| 亚洲成人在线观看视频| 欧美美女直播网站| 五月婷婷久久综合| 欧美一区二区高清| 精品一区二区免费| 26uuu国产电影一区二区| 另类综合日韩欧美亚洲| 久久亚洲影视婷婷| kk眼镜猥琐国模调教系列一区二区| 久久久久久久久久美女| 国产成人综合在线| 亚洲日韩欧美一区二区在线| 色欧美88888久久久久久影院| 亚洲综合另类小说| 欧美一区午夜视频在线观看| 免费不卡在线视频| 国产喂奶挤奶一区二区三区| 成人国产精品视频| 亚洲制服欧美中文字幕中文字幕| 欧美亚洲丝袜传媒另类| 免费人成在线不卡| 国产午夜一区二区三区| 99久久国产综合精品女不卡| 亚洲1区2区3区4区| 精品国产91九色蝌蚪| 懂色av一区二区三区蜜臀| 亚洲综合一区二区精品导航| 欧美一级xxx| 99精品欧美一区二区三区小说 | 激情综合一区二区三区| 国产精品你懂的在线欣赏| 欧美日韩色一区| 国产麻豆午夜三级精品| 亚洲精品欧美激情|