/* Returns: TRUE if the key did not exist yet  */
static gboolean g_hash_table_insert_internal(GHashTable *hash_table, gpointer key, gpointer value, gboolean keep_new_key)
/* Returns: TRUE if the key did not exist yet  */
static gboolean g_hash_table_insert_internal(GHashTable *hash_table, gpointer key, gpointer value, gboolean keep_new_key)
{
  guint key_hash;
  guint node_index;
  g_return_val_if_fail (hash_table != NULL, FALSE);
  node_index = g_hash_table_lookup_node (hash_table, key, &key_hash);
  return g_hash_table_insert_node (hash_table, node_index, key_hash, key, value, keep_new_key, FALSE);
}