VirtualBox

儲存庫 kBuild 的更動 1839


忽略:
時間撮記:
2008-10-11 下午07:36:50 (16 年 以前)
作者:
bird
訊息:

Did a couple of loop unrolls in find_next_token.

檔案:
修改 1 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/kmk/misc.c

    r1811 r1839  
    548548find_next_token (const char **ptr, unsigned int *lengthptr)
    549549{
     550#ifdef KMK
     551  const char *p = *ptr;
     552  const char *e;
     553  unsigned char ch;
     554
     555  /* skip blanks */
     556  for (;;)
     557    {
     558      ch = *p;
     559      if (!isblank(ch))
     560        break;
     561      ch = p[1];
     562      if (!isblank(ch))
     563        {
     564          p += 1;
     565          break;
     566        }
     567      ch = p[2];
     568      if (!isblank(ch))
     569        {
     570          p += 2;
     571          break;
     572        }
     573      ch = p[3];
     574      if (!isblank(ch))
     575        {
     576          p += 3;
     577          break;
     578        }
     579      p += 4;
     580    }
     581  if (!ch)
     582    {
     583      *ptr = p;
     584      return 0;
     585    }
     586
     587  /* skip ahead until EOS or blanks. */
     588  e = p + 1;
     589  for (;;)
     590    {
     591      ch = *e;
     592      if (isblank(ch) || ch == '\0')
     593        break;
     594      ch = e[1];
     595      if (isblank(ch) || ch == '\0')
     596        {
     597          e += 1;
     598          break;
     599        }
     600      ch = e[2];
     601      if (isblank(ch) || ch == '\0')
     602        {
     603          e += 2;
     604          break;
     605        }
     606      ch = e[3];
     607      if (isblank(ch) || ch == '\0')
     608        {
     609          e += 3;
     610          break;
     611        }
     612      e += 4;
     613    }
     614
     615  *ptr = e;
     616  if (lengthptr != 0)
     617    *lengthptr = e - p;
     618
     619  return (char *)p;
     620
     621#else
    550622  const char *p = next_token (*ptr);
    551623
     
    558630
    559631  return (char *)p;
     632#endif
    560633}
    561634
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette