Branch: Tag:

2004-05-28

2004-05-28 16:08:24 by Henrik Grubbström (Grubba) <grubba@grubba.org>

copy_svalues_recursively_no_free() et al now preserve identity relations.
Fixes [bug 3693 (#3693)].
Note that this is a (minor) API change (struct processing * ==> struct mapping *).
Added a few const's.

Rev: src/array.c:1.160
Rev: src/array.h:1.61
Rev: src/mapping.c:1.181
Rev: src/mapping.h:1.56
Rev: src/multiset.c:1.86
Rev: src/multiset.h:1.35
Rev: src/svalue.c:1.194
Rev: src/svalue.h:1.129

2:   || This file is part of Pike. For copyright information see COPYRIGHT.   || Pike is distributed under GPL, LGPL and MPL. See the file COPYING   || for more information. - || $Id: mapping.h,v 1.55 2004/04/29 23:56:21 nilsson Exp $ + || $Id: mapping.h,v 1.56 2004/05/28 16:08:24 grubba Exp $   */      #ifndef MAPPING_H
121:   PMOD_EXPORT void mapping_fix_type_field(struct mapping *m);   PMOD_EXPORT void mapping_set_flags(struct mapping *m, int flags);   PMOD_EXPORT void low_mapping_insert(struct mapping *m, -  struct svalue *key, -  struct svalue *val, +  const struct svalue *key, +  const struct svalue *val,    int overwrite);   PMOD_EXPORT void mapping_insert(struct mapping *m, -  struct svalue *key, -  struct svalue *val); +  const struct svalue *key, +  const struct svalue *val);   PMOD_EXPORT union anything *mapping_get_item_ptr(struct mapping *m,    struct svalue *key,    TYPE_T t);
135:    struct svalue *to);   PMOD_EXPORT void check_mapping_for_destruct(struct mapping *m);   PMOD_EXPORT struct svalue *low_mapping_lookup(struct mapping *m, -  struct svalue *key); +  const struct svalue *key);   PMOD_EXPORT struct svalue *low_mapping_string_lookup(struct mapping *m,    struct pike_string *p);   PMOD_EXPORT void mapping_string_insert(struct mapping *m,
175:   node *make_node_from_mapping(struct mapping *m);   PMOD_EXPORT void f_aggregate_mapping(INT32 args);   PMOD_EXPORT struct mapping *copy_mapping_recursively(struct mapping *m, -  struct processing *p); +  struct mapping *p);   PMOD_EXPORT void mapping_search_no_free(struct svalue *to,    struct mapping *m,    struct svalue *look_for,