pike.git / src / builtin.cmod

version» Context lines:

pike.git/src/builtin.cmod:2163:    struct mapping_data *md=m->data;    size_t bucket, count;    struct keypair *k;       if(!m_sizeof(m))    SIMPLE_BAD_ARG_ERROR("random", 1, "mapping with elements in it");       /* Find a random, nonempty bucket */    bucket=my_rand() % md->hashsize;    while(! md->hash[bucket] ) -  if(++bucket > (size_t)md->hashsize) +  if(++bucket >= (size_t)md->hashsize)    bucket=0;       /* Count entries in bucket */    count=0;    for(k=md->hash[bucket];k;k=k->next) count++;       /* Select a random entry in this bucket */    count = my_rand() % count;    k=md->hash[bucket];    while(count-- > 0) k=k->next;