4 /* this database records the mappings from names to numbers
7 book_changeres set_namenum(name_mapping * mapping)
9 static book_changeres result;
12 static map_value oldvalue;
14 extern char * value_key();
16 /* look for map(keyint) => old_string */
17 result = read_db(k = key_int(key, C_NAMES + mapping->type, mapping->key),
18 &oldvalue, sizeof(oldvalue),
19 (xdrproc_t)xdr_map_value, CONFIG);
23 /* found map(keyint) => old_string
24 * remove map(old_string) => keyint
26 k = key_string(C_NUMBERS + mapping->type, oldvalue);
27 result = delete_from_db(k, CONFIG);
31 if (mapping->value && mapping->value[0])
33 /* look for map(new_string) => otherkey */
34 result = read_db(k= key_string(C_NUMBERS + mapping->type, mapping->value),
35 &oldkey, sizeof(oldkey),
36 (xdrproc_t)xdr_int, CONFIG);
40 /* found map(new_string) => otherkey
41 * remove map(otherkey) => new_string
43 result = delete_from_db(key_int(key, C_NAMES + mapping->type, oldkey),
47 /* now write map(keyint) => newstring */
48 result = write_db(key_int(key, C_NAMES + mapping->type, mapping->key),
50 (xdrproc_t)xdr_map_value, CONFIG);
54 /* write map(newstring) => keyint */
55 result = write_db(k = key_string(C_NUMBERS + mapping->type, mapping->value),
56 &mapping->key, (xdrproc_t)xdr_int, CONFIG);
62 /* remove map(keyint) => oldstr */
63 result = delete_from_db(key_int(key, C_NAMES + mapping->type, mapping->key),