4268581.c   [plain text]


/* APPLE LOCAL file radar 4268581 */
/* { dg-do compile { target "powerpc*-*-darwin*" } } */
/* { dg-options "-static -m64  -Os -finline-limit=1500 --param inline-unit-growth=200" } */
typedef __SIZE_TYPE__ size_t;
int match (unsigned long long *name, unsigned long long *pat)
{
  unsigned long long c;
  c = *pat++;
  switch (c & 0xffffffffffULL) {
    case ((unsigned long long)(('*')|0x8000000000ULL)):
      do
        if (match(name, pat))
          return(1);
      while (*name++ != '\0');

      return(0);
    default:
      if (*name++ != c)
        return(0);
      break;
  }
  return(*name == '\0');
}

int glob ()
{
  unsigned long long patbuf[1024];
  return glob0 (patbuf);
}

int glob0()
{
  int err;
  if ((err = glob1 ()) != 0)
    return (err);
  return(0);
}

int glob1 ()
{
  unsigned long long pathbuf[1024];
  return (glob2 (pathbuf, pathbuf));
}

int glob2 (pathend, pattern)
  unsigned long long *pathend, *pattern;
{
  return (glob3 (pathend, pattern));
}

int glob3 (unsigned long long *pathend, unsigned long long *pattern)
{
  return !match (pathend, pattern);
}