pike.git / src / stralloc.c

version» Context lines:

pike.git/src/stralloc.c:1383: Inside #if defined(PIKE_DEBUG)
   if(s2 == s)    Pike_fatal("Shared string table is cyclic.\n");    h=0;    }    }    }    if(num != num_strings)    Pike_fatal("Num strings is wrong %d!=%d\n",num,num_strings);   }    - int safe_debug_findstring(const struct pike_string *foo) + const struct pike_string *debug_find_shared_string(const struct pike_string *s)   {    size_t h;    struct pike_string *p;    -  if(!base_table) return 0; -  h = HMODULO(foo->hval); +  if(!base_table) return NULL; +  h = HMODULO(s->hval);    for(p=base_table[h];p;p=p->next)    { -  +  if(p==s) +  { +  return s; +  } +  } +  return NULL; + } +  + int safe_debug_findstring(const struct pike_string *foo) + { +  unsigned INT32 e; +  if(!base_table) return 0; +  for(e=0;e<htable_size;e++) +  { +  struct pike_string *p; +  for(p=base_table[e];p;p=p->next) +  {    if(p==foo)    {    return 1;    }    } -  +  }    return 0;   }      /* for once, this is actually a debug function! */   const struct pike_string *debug_findstring(const struct pike_string *foo)   {    return safe_debug_findstring(foo) ? foo : 0;   }      PMOD_EXPORT void debug_dump_pike_string(const struct pike_string *s, INT32 max)