pike.git / src / mapping.c

version» Context lines:

pike.git/src/mapping.c:273:   {    INT32 e;    struct keypair *k;    debug_malloc_touch(md);      #ifdef PIKE_DEBUG    if (md->refs) {    Pike_fatal("really_free_mapping_data(): md has non-zero refs: %d\n",    md->refs);    } +  +  if (!md->size) { +  /* Paranoia and keep gcc happy. */ +  if (md == &empty_data) { +  Pike_fatal("really_free_mapping_data(): md is empty_data!\n"); +  } +  if (md == &weak_ind_empty_data) { +  Pike_fatal("really_free_mapping_data(): md is weak_ind_empty_data!\n"); +  } +  if (md == &weak_val_empty_data) { +  Pike_fatal("really_free_mapping_data(): md is weak_val_empty_data!\n"); +  } +  if (md == &weak_both_empty_data) { +  Pike_fatal("really_free_mapping_data(): md is weak_both_empty_data!\n"); +  } +  }   #endif /* PIKE_DEBUG */       NEW_MAPPING_LOOP(md)    {    free_svalue(& k->val);    free_svalue(& k->ind);    }       free(md);    GC_FREE_BLOCK(md);